java.io.FileNotFoundException:in.txt,(系统找不到指定的文件)

时间:2012-10-12 19:53:35

标签: java

我收到以下错误

java.io.FileNotFoundException: in.txt, (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    at FileTest.main(FileTest.java:50)

但我确定我已经在src,bin和root目录下创建了一个in.txt文件。我也尝试在主参数中指定完整目录,但仍然无法正常工作。为什么Eclipse不接受它?

import java.io.*;
public class FileTest {
    public static void main(String[] args) {

        try {
            String inFileName = args[0];
            String outFileName = args[1];
            BufferedReader ins = new BufferedReader(new FileReader(inFileName));
            BufferedReader con = new BufferedReader(new InputStreamReader(System.in));
            PrintWriter outs = new PrintWriter(new FileWriter(outFileName));

            String first = ins.readLine(); // read from file
            while (first != null) {
                System.out.print("Type in a word to follow " + first + ":");
                String second = con.readLine(); // read from console
                // append and write
                outs.println(first + ", " + second);
                first = ins.readLine(); // read from file
            }
            ins.close();
            outs.close();
        } catch (IOException ex) {
            ex.printStackTrace(System.err);
            System.exit(1);
        }

    }
}

7 个答案:

答案 0 :(得分:6)

鉴于错误消息,我猜Java正在寻找文件名in.txt,,并带有逗号。

答案 1 :(得分:2)

默认情况下,Eclipse会将工作目录设置为项目文件夹。如果您对设置进行了更改,您仍然可以通过以下简单的代码行找到工作目录:

System.out.println(new java.io.File("").getAbsolutePath());

将您的文本文件放在打印的文件夹中,您应该没问题。

答案 2 :(得分:2)

我接受了你的代码并使用以下命令行参数执行它:

in.txt out.txt

它完全没有问题。检查命令行。

答案 3 :(得分:0)

将它放在项目目录中,如果不起作用,则为bin文件夹

答案 4 :(得分:0)

打开“调试配置”并在“参数”选项卡下设置工作目录。相对路径将相对于工作目录。

答案 5 :(得分:0)

我在我的eclipse中创建了一个新项目Learning,并将in.txt文件放在源目录中。我使用示例java文件进行了测试。

public static void main(String[] args) {
    File f = new File("a.txt");
    System.out.println(f.getAbsolutePath());
}

输出:

/home/bharathi/workspace/Learning/a.txt

它在项目根目录中查找。您可以将in.txt放在项目的根目录中,或者将路径提供给源目录。

答案 6 :(得分:0)

可能存在两个问题:

  1. 在您的控制台中,错误显示为&#39;,&#39;检查 - &gt;
    java.io.FileNotFoundException:in.txt,
    所以JVM可能会查找带有&#39;,&#39;的文件名。

  2. 第二种情况可以是,你in.txt文件不在右边     地点。检查它是否是项目的根目录。或主要的     路径。

  3. 这将解决这些类型的问题。