【问题标题】:FileNotFoundException when initialising a FileWriter with path使用路径初始化 FileWriter 时出现 FileNotFoundException
【发布时间】:2016-08-01 04:38:38
【问题描述】:

我有一个string str="\Users\name\Desktop\Folder1\test.txt". 我有以下代码:

BufferedWriter fw1 = new BufferedWriter(new FileWriter(str));
fw1.write(t);
fw1.close();

为此,我收到了运行时错误FileNotFound。 即使我使用FileWriter fw1 = new FileWriter(str); 我得到了同样的错误。 我在linux中这样做。 请在这方面帮助我。

【问题讨论】:

  • 打印异常消息并打印'str'以了解程序是如何读取它的。

标签: java string file filewriter bufferedwriter


【解决方案1】:

使用\\ 代替\ 或使用/ 代替\

【讨论】:

    【解决方案2】:

    首先,您应该使用/ 而不是\(即使在Windows 系统上)。

    此外,您没有定义正确的路径。它在“普通”Linux 系统(如 Ubuntu、Debian ......)上不存在。也许您的意思是“/home/name/Desktop/Folder1/test.txt”之类的东西?

    【讨论】:

      【解决方案3】:

      正如其他人已经指出的那样,要么转义\ 字符(\\),要么更好地使用不需要转义的\ 字符,这样可以省去麻烦。但是,还有第三种选择,使用 File.separator 代替硬编码,这可能需要一些额外的工作,但会使您的代码防弹:string str="" + File.separator + "Users"+ File.separator + "name"+ File.separator + "Desktop" + File.separator + "Folder1" + File.separator + "test.txt"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多