private void saveFile()
{
if(isFirstSave()==true)
{
asSaveFile();
}
else
{
commonInSaveAndAsSave();
}
}
private void asSaveFile()
{
FileDialog filedialog_save=new FileDialog(this,"保存文件",FileDialog.SAVE);
filedialog_save.setVisible(true);
filename=filedialog_save.getFile();
commonInSaveAndAsSave();
}
private void commonInSaveAndAsSave()
{
try
{
File filetosave=new File(filename);
FileWriter writer=new FileWriter(filetosave);
BufferedWriter bufferedwriter=new BufferedWriter(writer);
String stringtextareacontent=textareausedinallclass.textarea.getText();
bufferedwriter.write(stringtextareacontent,0,stringtextareacontent.length());
bufferedwriter.close();
writer.close();
}
catch(IOException ioexception)
{
ioexception.printStackTrace();
}
}
5 个解决方案
#1
lz有没有看看stringtextareacontent的值?说不定stringtextareacontent里面就没有内容....可以打印出来看看
#2
今下午有时间我将回去试一下,多谢您的帮助。
#3
我回来调试了一下,发现在执行完“String stringtextareacontent=textareausedinallclass.textarea.getText();”这条语句后“stringtextareacontent” 中的值就是文本框中的内容,但是就是文件中没有内容。
#4
我测试的能保存, 不过,需要注意的是,
String filename=filedialog_save.getFile();
filename只有文件名, 比如abc.txt, 而不是E:\\test\\abc.txt, 所以存储的文件是在当前目录, 而不是lz选择的目录, lz试试这行代码..
String filename= filedialog_save.getDirectory() + filedialog_save.getFile();
#5
试了您的语句,现在确实可以了。我想原因是不是如果不加获取文件路径的那个方法的话,会默认在程序所在文件夹内的文件中保存。得获取路径之后才能找到我们自己选择的文件。
#1
lz有没有看看stringtextareacontent的值?说不定stringtextareacontent里面就没有内容....可以打印出来看看
#2
今下午有时间我将回去试一下,多谢您的帮助。
#3
我回来调试了一下,发现在执行完“String stringtextareacontent=textareausedinallclass.textarea.getText();”这条语句后“stringtextareacontent” 中的值就是文本框中的内容,但是就是文件中没有内容。
#4
我测试的能保存, 不过,需要注意的是,
String filename=filedialog_save.getFile();
filename只有文件名, 比如abc.txt, 而不是E:\\test\\abc.txt, 所以存储的文件是在当前目录, 而不是lz选择的目录, lz试试这行代码..
String filename= filedialog_save.getDirectory() + filedialog_save.getFile();
#5
试了您的语句,现在确实可以了。我想原因是不是如果不加获取文件路径的那个方法的话,会默认在程序所在文件夹内的文件中保存。得获取路径之后才能找到我们自己选择的文件。