-1

我需要保存一个已经在 J​​FileChooser 给出的特定路径中创建的文本文件。我所做的主要保存是:

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

4

3 回答 3

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包含您要写入的数据的文件在哪里。

于 2013-05-18T15:58:27.453 回答
-1

使用文件的路径和名称创建一个新的 File 对象

File file = new File(String pathname)
于 2013-05-18T15:58:22.903 回答
-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"为要写入的实际文件内容。

于 2013-05-18T15:59:49.493 回答