当前位置 : 主页 > 编程语言 > java >

java 利用文件对话框实现文件的转存功能

来源:互联网 收集:自由互联 发布时间:2022-08-10
好久就想写了 可惜 那时候书本还没看多少。 这两天又给同学装系统。昨天晚上才有时间写。可是遇到了一个问题 就是不知道怎么用 文件对话框选择文件夹 又百度搜索 ,找到了。 后


好久就想写了 可惜 那时候书本还没看多少。

这两天又给同学装系统。昨天晚上才有时间写。可是遇到了一个问题 就是不知道怎么用

文件对话框选择文件夹 又百度搜索 ,找到了。

后来又发现转存的文件只能保存在文件夹所在的那个文件夹。不能保存在所选择的文件夹里面。

百度了好久 找到了、


package 文件转存;
public class 文件转存 {
public static void main(String[] args) {
WindowBuild win=new WindowBuild();
win.setTitle("文件转存");
}

}package 文件转存;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.*;
public class WindowBuild extends JFrame implements ActionListener{
JFileChooser fileDialog1,fileDialog2;
JButton choosepath1,confirm,choosepath2;
JTextField path1,path2;
BufferedReader in;
FileReader fileReader;
BufferedWriter out;
FileWriter fileWriter;
Box box1,box2,box3,baseBox;
File dir1=null,dir2=null;
String name1=null,pathChoose=null,pathConfirm=null;
JLabel mark;
boolean hasChoosed1=false,hasChoosed2=false;
WindowBuild(){
setLayout(new FlowLayout());
init();
setSize(300,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
path1=new JTextField(10);
path2=new JTextField(10);
choosepath1=new JButton("选择文件");
choosepath2=new JButton("选择地址");
confirm=new JButton("确定");
box1=Box.createHorizontalBox();
box2=Box.createHorizontalBox();
box3=Box.createHorizontalBox();
baseBox=Box.createVerticalBox();
box1.add(path1);
box1.add(Box.createHorizontalStrut(5));
box1.add(choosepath1);
box2.add(path2);
box2.add(Box.createHorizontalStrut(5));
box2.add(choosepath2);
box3.add(mark=new JLabel("确认转存吗?"));
box2.add(Box.createHorizontalStrut(5));
box3.add(confirm);
baseBox.add(box1);
baseBox.add(Box.createVerticalStrut(20));
baseBox.add(box2);
baseBox.add(Box.createVerticalStrut(20));
baseBox.add(box3);
add(baseBox);
choosepath1.addActionListener(this);
choosepath2.addActionListener(this);
confirm.addActionListener(this);
fileDialog1=new JFileChooser();
FileNameExtensionFilter filter=new FileNameExtensionFilter("TXT文件","txt");
fileDialog1.setFileFilter(filter);
fileDialog2=new JFileChooser();
fileDialog2.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==choosepath1){
int state=fileDialog1.showSaveDialog(this);
if(state==0){
dir1=fileDialog1.getCurrentDirectory();
name1=fileDialog1.getSelectedFile().getName();
pathChoose=fileDialog1.getSelectedFile().getPath();
path1.setText(pathChoose);
hasChoosed1=true;
}
}
else if(e.getSource()==choosepath2){
int state=fileDialog2.showSaveDialog(this);
if(state==0){
pathConfirm=fileDialog2.getSelectedFile().getPath();
path2.setText(pathConfirm);
hasChoosed2=true;
}
}
else if(e.getSource()==confirm&&hasChoosed1==true&&hasChoosed2==true){
try{
File file1=new File(dir1,name1);
File file2=new File(pathConfirm,"新文件.txt");
fileWriter=new FileWriter(file2);
fileReader=new FileReader(file1);
out=new BufferedWriter(fileWriter);
in=new BufferedReader(fileReader);
String s=null;
while((s=in.readLine())!=null){
out.write(s);
out.newLine();
System.out.println(s);
}
in.close();
out.close();
fileReader.close();
fileWriter.close();
JOptionPane.showMessageDialog(this, "保存成功!!!","消息对话框",JOptionPane.INFORMATION_MESSAGE);
}
catch(IOException exp){
JOptionPane.showMessageDialog(this, "保存失败!!!","消息对话框",JOptionPane.INFORMATION_MESSAGE);
}
}
else
JOptionPane.showMessageDialog(this, "保存失败!!!","消息对话框",JOptionPane.INFORMATION_MESSAGE);

}

}



java 利用文件对话框实现文件的转存功能_java复制

java 利用文件对话框实现文件的转存功能_java复制_02

java 利用文件对话框实现文件的转存功能_java复制_03

java 利用文件对话框实现文件的转存功能_文件转存_04

java 利用文件对话框实现文件的转存功能_文件转存_05

上一篇:Java程序设计中setFont()函数的用法(转)
下一篇:没有了
网友评论