我想在文本文件中写一个字符串,该字符串应该由保存对话框动态保存。
我已静态完成此任务,这意味着将创建具有指定文件名的文件,并且还会从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);
答案 0 :(得分:1)
使用chooser.getSelectedFile()
使用包装在BufferedWriter中的FileWriter,而不是FileOutputStream。
使用JTextArea的write(...)方法写出文本。
答案 1 :(得分:0)
使用
new FileOutputStream(chooser.getName());
而不是
new FileOutputStream("file.txt");