读取字符串时出现Java FileReader FileNotFound问题

时间:2012-05-06 15:30:46

标签: java filenotfoundexception filereader

我有以下代码:

    BufferedReader inFromUser =
            new BufferedReader(new InputStreamReader(System.in));

    System.out.print("Enter: ");

    String m = inFromUser.readLine();

    BufferedReader br = new BufferedReader(new FileReader(m));

    String text;

    while((text = br.readLine()) != null){
        System.out.println(text);
    }

    br.close();

当从用户读取字符串时,永远无法找到该文件。我不知道字符串传递时发生了什么,但它变得不可靠。虽然文件非常多。

我已经运行了测试,当我用newFileReader(“Lab3 / test”)替换newFileReader(m)时,找到了文件,但是当我在系统中输入“Lab3 / test”时(通过String m = inFromUser) .readLine();)读取它,它被读入并打印为“Lab3 / test”但文件读取器在字符串传递到文件阅读器(通过m)时从不找到文件,当字符串完全相同时。

我用谷歌搜索了一下,但试图解释这是一种痛苦。

先谢谢你,Sam

1 个答案:

答案 0 :(得分:3)

您需要输入不带引号的文件名。如果您使用引号输入,则文件名也必须包含引号。

如果使用Lab3/test等文件名,则Java将在当前工作目录中搜索该文件。当前工作目录通常是应用程序启动的位置。如果输入完整的绝对文件名,例如C:\Users\Smithers\Dropbox\Software Engineering Code\Eclipse\Networking\Lab3\test

,我可能会更容易

使用反斜杠或正斜杠无关紧要。