使用路径初始化 FileWriter 时出现 FileNotFoundException

FileNotFoundException when initialising a FileWriter with path

我有一个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 中这样做。 请在这方面帮助我。

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

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

此外,您没有定义正确的路径。它不存在于 "normal" Linux-系统(如 Ubuntu、Debian...)。也许您的意思是“/home/name/Desktop/Folder1/test.txt”?

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