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

标签 java netbeans

我的问题是在 Netbeans 中保存文档。我在 Netbeans 中使用 Java 创建了一个程序。首先,您进行注册(单击注册按钮时,将使用用户名创建新的用户 map ),然后使用您的用户名和密码登录。登录后,程序会显示一个新窗口,您可以在其中创建文档。您可以在 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);
}

最佳答案

您的路径中似乎存在拼写错误,其中包含多余的空格。

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

关于java - 如何在Java中使用绝对路径变量保存文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886317/

相关文章:

java - Spring AOP,切入点根据路径变量名触发

java - servlet oracle数据库连接示例

java - Java NetBeans Swing GUI 中的动态图像内容

java - 如何使用 Jackson 反序列化 2D 数组

java - 拖动 TreeView 的节点

java - Tomcat 没有在 Eclipse 中关闭

java - 使用 Jakarta Commons Daemon 重新加载配置

java - 如何使用列表输入测试Web服务?

java - 如何更改使用 netbeans 中的工具创建的 jDesktopPane 的背景颜色

python - 如何逐步调试扭曲?