0

我的问题是在 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);
}
4

1 回答 1

2

看起来您的路径中有一个带有额外空格的错字。

请注意,作为替代方案,如果您使用 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 线程,而应使用后台线程,否则您的应用程序将在保存操作正在进行时变得无响应。

于 2013-06-02T19:26:48.370 回答