0

次のエラーが表示されます

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、およびルート ディレクトリの下に 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);
        }

    }
}
4

7 に答える 7

6

in.txt,エラー メッセージを考えると、Java は末尾にコンマが付いたファイル名を探していると推測できます。

于 2012-10-12T20:01:04.083 に答える
2

デフォルトでは、Eclipse は作業ディレクトリをプロジェクト フォルダーに設定します。設定を変更した場合でも、次の簡単なコード行で作業ディレクトリを見つけることができます。

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

テキストファイルを印刷されたフォルダーに入れてください。問題はありません。

于 2012-10-12T20:02:40.977 に答える
2

あなたのコードを取得し、次のコマンドライン パラメータで実行しました。

in.txt out.txt

まったく問題なく動作します。コマンドラインを確認してください。

于 2012-10-12T20:02:57.983 に答える
0

LearningEclipseで新しいプロジェクトを作成し、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をプロジェクトのルートディレクトリ内に配置するか、ソースディレクトリまでのパスを指定できます。

于 2012-10-12T20:10:52.060 に答える
0

次の 2 つの問題が考えられます。

  1. コンソールでは、「,」チェックで表示されるエラー -- >
    java.io.FileNotFoundException: in.txt で
    あるため、おそらく JVM は「,」を含むファイル名を探します。

  2. 2 番目のケースは、.txt ファイルが正しい場所にない場合です。プロジェクトのルートかどうかを確認します。またはメインパス。

それは、これらのタイプの問題を解決します。

于 2014-08-29T08:48:11.817 に答える
0

プロジェクトディレクトリに配置し、それが機能しない場合は bin フォルダー

于 2012-10-12T19:55:28.847 に答える
0

「デバッグ構成」を開き、「引数」タブで作業ディレクトリを設定します。相対パスは、作業ディレクトリからの相対パスになります。

于 2012-10-12T20:00:56.447 に答える