为什么在Java中出现FileNotFoundException(文件名,目录名或卷标签语法不正确)?

时间:2018-08-06 17:44:42

标签: java io 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);
    }
 }

}

该文件确实存在,我可以在目录中找到它。预先感谢您对我的帮助。

2 个答案:

答案 0 :(得分:2)

您的角色性格不好。当我尝试将其粘贴到Eclipse时,我得到:

enter image description here

答案 1 :(得分:2)

您的路径字符串中有一个额外的不可打印字符。它在复制粘贴中也幸免于难,所以我能够重现您的错误。这是一个测试:

    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