Java 文件引用,正确的语法是什么

Java 文件引用,正确的语法是什么,java,servlets,ioexception,Java,Servlets,Ioexception,我试图引用计算机上的某个位置,但是Java告诉我语法错误 这行对吗 File newlyUploadedFile=新文件(“D:\\”+文件名) 问题是文件被正确地上传到了我想要的位置,但我得到了错误: java.io.IOException:文件名、目录名或卷标语法不正确 总是在java字符串中转义反斜杠 File newlyUploadedFile = new File("D:\\" + fileName); IOException是由于系统找不到您在filename中指定的文件而导致的。

我试图引用计算机上的某个位置,但是Java告诉我语法错误

这行对吗

File newlyUploadedFile=新文件(“D:\\”+文件名)

问题是文件被正确地上传到了我想要的位置,但我得到了错误:

java.io.IOException:文件名、目录名或卷标语法不正确


总是在java字符串中转义反斜杠

File newlyUploadedFile = new File("D:\\" + fileName);
IOException是由于系统找不到您在filename中指定的文件而导致的。尝试添加

newlyUploadedFile.exists();

看看它会有什么回报。如果路径返回false,则文件名有错误。

首先,问题中的代码将无法编译。但是,既然您看到了IOException,那么显然您正在运行不同的代码

为了得到一个抱怨路径名语法的IOException,路径名实际上肯定有问题。
“D:\\”+fileName
实际上给了你什么?添加对
System.err.println(…)
的调用以查看它是什么。

注意:

  • 该异常文本来自Windows操作系统,而不是Java

  • Java文件名中永远不需要使用反斜杠。至少如果有,我已经13年没遇到过了


  • 我认为这不是问题所在。字符串文本中缺少转义将导致Java编译错误,而不是IOException。是的,我也注意到了这一点。但是,缺少斜线肯定会导致路径出现问题。@futureelite7-您正在进行假设。我们不知道
    fileName
    实际上包含什么。如果它(已经)以“\`”开头怎么办?根据我的经验,文件名不是以\开头的。如果windows看到多个斜杠,那么无论如何它都会被忽略。但我要说的是,海报一开始忘了逃过他的刀砍。谢谢,我会试试看。。。但是为什么它不能编译呢?我尽量简短,没有给出所有的代码。但是我不明白为什么我给出的位不能编译。@Ankur-现在你已经修复了问题的文本,它将编译:-)你之前看到的\单斜杠是双斜杠\\很抱歉。你需要发布整个函数。现在我们无法知道你的代码哪里出错了。我很想知道为什么投票失败。这里没有事实上的错误。反对者投了反对票。这确实是完全正确的。错误来自底层文件系统,而正斜杠在Windows中一直工作得很好。