如何在Java中使用绝对路径中的变量保存文件



我的问题是在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线程,而应该使用后台线程,否则当保存操作正在进行时,应用程序将变得无响应。

相关内容

  • 没有找到相关文章

最新更新