如何将文本文件保存在JFileChooser给出的路径中?

时间:2013-05-18 15:53:52

标签: java file path jfilechooser

我需要保存一个文本文件,该文件已经在JFileChooser给出的特定路径中创建。我基本上要保存的是:

public void actionPerformed(ActionEvent e) {
   JFileChooser chooser = new JFileChooser();
   int status = chooser.showSaveDialog(null);
   if (status == JFileChooser.APPROVE_OPTION) {
      System.out.print(chooser.getCurrentDirectory());
      // Don't know how to do it
   }

如何将文本文件保存在JFileChooser给出的路径中?

3 个答案:

答案 0 :(得分:2)

您想在if声明之后添加以下内容:

File file = chooser.getSelectedFile();
FileWriter fw = new FileWriter(file);
fw.write(foo);

其中foo是您的内容。

修改

如果你想写一个文本文件,我建议如下:

PrintWriter out = new PrintWriter(file);
BufferedReader in = new BufferedReader(new FileReader(original));
while (true)
{
    String line = in.nextLine();
    if (line == null)
        break;
    out.println(line);
}
out.close();

其中original是包含您要写入的数据的文件。

答案 1 :(得分:-1)

使用文件的路径和名称

创建一个新的File对象
File file = new File(String pathname)

答案 2 :(得分:-1)

试试这个:

public void actionPerformed(ActionEvent e) {
    JFileChooser chooser = new JFileChooser();
    int status = chooser.showSaveDialog(null);
    if (status == JFileChooser.APPROVE_OPTION) {
        FileWriter out=new FileWriter(chooser.getSelectedFile());
        try {
            out.write("insert text file contents here");
        }
        finally {
            out.close();
        }
    }
    // ...

chooser.getCurrentDirectory()提供的目录外,您还需要要保存的文件名,但这应该是您需要的。当然,您还需要编写实际写入流的save方法,但这取决于您。 :)

编辑:根据线程中的另一个答案,这里应该使用的方法很多,chooser.getSelectedFile()。更新以使用该方法。

编辑:由于OP指定正在写入的文件是文本文件,我添加了代码来写入文件的内容。当然,您需要将"insert text file contents here"替换为要写入的实际文件内容。