使用路径初始化 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"
.
我有一个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"
.