Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JFileChooser保存对话框保存文件_Java_Swing_Jfilechooser - Fatal编程技术网

Java 使用JFileChooser保存对话框保存文件

Java 使用JFileChooser保存对话框保存文件,java,swing,jfilechooser,Java,Swing,Jfilechooser,我已经编写了一个Java程序,可以用JFileChooser打开所有类型的文件。然后我想用JFileChooser保存对话框将它保存在另一个目录中,但它只保存一个空文件。我能做些什么来保存零件 谢谢。JFileChooser只返回File对象,您必须打开一个FileWriter并将内容写入其中 例如 编辑: 假设您只是有一个源文件和目标文件,并且希望在这两个文件之间复制内容,我建议使用类似Apache的方法来完成繁重的工作 例如 完成了 除此之外,我想您还没有阅读文件的内容。基本上,要使用jav

我已经编写了一个Java程序,可以用JFileChooser打开所有类型的文件。然后我想用JFileChooser保存对话框将它保存在另一个目录中,但它只保存一个空文件。我能做些什么来保存零件


谢谢。

JFileChooser只返回File对象,您必须打开一个FileWriter并将内容写入其中

例如

编辑:

假设您只是有一个源文件和目标文件,并且希望在这两个文件之间复制内容,我建议使用类似Apache的方法来完成繁重的工作

例如

完成了

除此之外,我想您还没有阅读文件的内容。基本上,要使用java和JFileChooser复制文件,您必须执行以下操作:

  • 使用文件选择器选择源文件。这将返回一个文件对象,或多或少是文件名的包装类
  • 对文件使用FileReader来获取内容。将其存储在字符串、字节数组或其他内容中
  • 使用文件选择器选择目标文件。这将再次返回一个文件对象
  • 在目标文件中使用FileWriter将上面的字符串或字节数组存储到该文件中
  • “文件打开”对话框不会将文件内容读入内存,它只返回一个表示文件的对象。

    类似

    File file = fc.getSelectedFile();
    String textToSave = mainTextPane.getText();
    BufferedWriter writer = null;
    
    try
    {
    writer = new BufferedWriter( new FileWriter(file));
    writer.write(textToSave);
    JOptionPane.showMessageDialog(this, "Message saved. (" + file.getName()+")",
    "ImPhil HTML Editer - Page Saved",
    JOptionPane.INFORMATION_MESSAGE);
    }
    catch  (IOException e)
    { }
    

    内容是您想写入文件的任何内容,但我认为计算机会为我做一切:(指向“完整示例”的链接是404。嗨,詹姆斯,谢谢您标记此内容。我已为您更新了链接。
    FileUtils.copy(source, dest);
    
    File file = fc.getSelectedFile();
    String textToSave = mainTextPane.getText();
    BufferedWriter writer = null;
    
    try
    {
    writer = new BufferedWriter( new FileWriter(file));
    writer.write(textToSave);
    JOptionPane.showMessageDialog(this, "Message saved. (" + file.getName()+")",
    "ImPhil HTML Editer - Page Saved",
    JOptionPane.INFORMATION_MESSAGE);
    }
    catch  (IOException e)
    { }