java - 为什么我在 Java 中收到 FileNotFoundException(文件名、目录名或卷标语法不正确)?
问题描述
我正在尝试创建一个程序,它需要简单的输入并将其写入文件。问题是,当它尝试打开要写入的文件时,出现错误:“java.io.FileNotFoundException: C:\Users\bobdu\eclipse-workspace\SHIPTesting.txt(文件名、目录名或卷标语法不正确)。” 我什至有一个非常简单的程序,我得到了同样的错误:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class OutputTesting {
public static void main(String[] args)
{
try
{
PrintWriter outputStream = new PrintWriter(new FileOutputStream("C:\\Users\\bobdu\\eclipse-workspace\\SHIPTesting.txt"));
outputStream.println("Output line 1");
outputStream.println("Output line 2");
outputStream.close();
}
catch (FileNotFoundException e)
{
System.err.println(e.getMessage());
e.printStackTrace(System.err);
System.exit(0);
}
}
}
该文件确实存在,我可以在我的目录中找到它。预先感谢您帮助我。
解决方案
您的路径字符串中有一个额外的不可打印字符。它也可以在复制粘贴中幸存下来,因此我能够重现您的错误。这是一个测试:
String yours = "C:\\Users\\bobdu\\eclipse-workspace\\SHIPTesting.txt";
String retyp = "C:\\Users\\bobdu\\eclipse-workspace\\SHIPTesting.txt";
System.out.println("yours len="+yours.length()+", retype=" + retyp.length());
输出是
yours len=49, retype=48
推荐阅读
- vb6 - 如何以及如何响应客户端对服务器的期望
- javascript - React Native“不变违规:模块AppRegistry不是注册的可调用模块(调用runApplication)”
- html - Html Canvas 坐在不同宽度的 CSS
- azure - 无法调整 Azure 虚拟机规模集的大小
- angular - ngx-filesaver 如何控制文件的保存位置?
- android - 隐藏在编辑文本片段中的键盘
- mysql - Mysql在两列之间查询start_date和end_date
- javascript - 如何在javascript中使一个变量成为另一个变量的数学函数
- python - 将多个函数放入一个 Switch-Case 语句 - Python
- javascript - 需要建议 - 我的静态网站发送电子邮件的最佳方式