我的问题是在Netbeans中保存文档。我在Netbeans中使用Java创建了一个程序。首先注册(在点击注册按钮上创建一个新用户地图,其中包含用户名),然后使用您的用户名和密码登录。登录后,程序将显示一个新窗口,您可以在其中创建文档。您可以在TextArea中编写文本。然后,当您完成编写文本后,单击“保存”按钮,您编写的文本将保存在以您在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);
}
答案 0 :(得分:2)
看起来你的路径中有一个额外空格的拼写错误。
请注意,作为替代方案,如果您使用Java 7+,您还可以使用Paths实用程序类生成路径,而无需处理特定于操作系统的分隔符(\\
或/
):< / p>
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线程,而应使用后台线程,否则应用程序将在保存操作正在进行时无响应。