我的问题是在Netbeans中保存文档。我在Netbeans中用Java编写了一个程序。首先注册(在点击注册按钮时,将用用户名创建一个新的用户地图),然后使用用户名和密码登录。当您登录时,程序将显示一个新窗口,您可以在其中创建文档。你可以在TextArea中编写文本。当你写完你的文本后,你点击Save按钮,你写的文本保存在一个文档中,以你在jTextField中给出的文本命名。对于不同的登录,绝对路径会改变。
这是我在提交按钮中的代码://ccc is the name of user map
String ccc = LogIn.uporabnik1;
try{
FileWriter writer = new FileWriter("C:\Users\ALEKS\Documents\NetBeansProjects\EasyEdit\"+ccc+"\"+FileName+".txt");
BufferedWriter bw = new BufferedWriter (writer);
jTextArea1.write(bw);
bw.close();
jTextArea1.setText("");
jTextArea1.requestFocus();
writer.close();
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
看起来你的路径中有一个额外的空格。
请注意,作为一种选择,如果您使用Java 7+,您还可以使用Paths实用程序类来生成路径,而不必处理操作系统特定的分隔符(\
或/
):
Path path = Paths.get("C:/Users/ALEKS/Documents/NetBeansProjects/EasyEdit/"
+ ccc + "/" + FileName + ".txt");
和将字符串写入文件:
String text = jTextArea1.getText();
Files.write(path, text.getBytes("UTF-8"));
这使你的代码更短,你不必手动创建和关闭流。
最后,对于长时间的操作,不应该使用GUI线程,而应该使用后台线程,否则当保存操作正在进行时,应用程序将变得无响应。