Java 使用路径初始化FileWriter时FileNotFoundException

Java 使用路径初始化FileWriter时FileNotFoundException,java,string,file,filewriter,bufferedwriter,Java,String,File,Filewriter,Bufferedwriter,我有一个字符串str=“\Users\name\Desktop\Folder1\test.txt”。 我有以下代码: BufferedWriter fw1 = new BufferedWriter(new FileWriter(str)); fw1.write(t); fw1.close(); 为此,我收到运行时错误FileNotFound。 即使我使用FileWriter fw1=newfilewriter(str) 我也犯了同样的错误。 我在linux上做这件事。 请在这方面帮助我。使用\

我有一个
字符串str=“\Users\name\Desktop\Folder1\test.txt”。
我有以下代码:

BufferedWriter fw1 = new BufferedWriter(new FileWriter(str));
fw1.write(t);
fw1.close();
为此,我收到运行时错误
FileNotFound
。 即使我使用
FileWriter fw1=newfilewriter(str)
我也犯了同样的错误。
我在linux上做这件事。

请在这方面帮助我。

使用
\\
而不是
\
,或者使用
/
而不是
\

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


此外,您没有定义正确的路径。它不存在于“普通”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”

打印异常消息并打印“str”,以了解程序是如何读取的。