0

我想在文本文件中写入一个字符串,该字符串应该由保存对话框动态保存。我已经静态地完成了这项任务,这意味着创建了具有指定文件名的文件,并且文本也从JTextArea. 我想将此文件保存在我给定的位置并使用我的给定名称。你能在这方面指导我吗?

do{
    String fileData=jTextArea1.getText();
    byte buf[]=fileData.getBytes();

    JFileChooser chooser = new JFileChooser();
            FileNameExtensionFilter filter = new FileNameExtensionFilter("Text/fasta files", ".txt", ".fasta");
            chooser.setFileFilter(filter);
            int returnVal = chooser.showSaveDialog(null);

                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    System.out.println("inside try after retVal");
                    try{
                        //OutputStream f2=new FileOutputStream("filename.txt");
                        OutputStream f2=new FileOutputStream("file.txt");

                        f2.write(buf);
                        f2.close();
                        } catch (IOException ex) {
                            Logger.getLogger(CreatingFile.class.getName()).log(Level.SEVERE, null, ex);
                                                }


                } else {
                    return null;
                } //else ends


    // TODO add your handling code here:
}while(true);
4

2 回答 2

1

使用选择器.getSelectedFile()

使用包裹在 BufferedWriter 中的 FileWriter,而不是 FileOutputStream。

并使用 JTextArea 的 write(...) 方法写出文本。

于 2009-08-25T05:34:40.663 回答
0

利用

new FileOutputStream(chooser.getName());

代替

new FileOutputStream("file.txt");
于 2009-08-25T05:21:48.177 回答