2

そのため、問題は、NetBeansまたはEclipsに以下のコードをロードしようとするたびに例外がスローされることですが、TextMateを介して実行しようとすると、すべて正常に機能します。

絶対アドレスを入れたり、テキストファイルを変更したりしてみましたが、役に立ちませんでした!

誰かが私を助けたり、IDEで実行されない理由を教えてもらえますか?

ありがとう

void loadFile() {
    try {
        list = new LinkedList<Patient>();

        FileReader read = new FileReader("a.txt");
        Scanner scan = new Scanner(read);

        while (scan.hasNextLine()) {
            String Line = scan.nextLine();
            String[] subArray = new String[5];
            subArray = Line.split(",");
            int a = Integer.parseInt(subArray[4]);

            list.add(new Patient(Integer.parseInt(subArray[0]), subArray[1], subArray[2], subArray[3], a));
        }
    } catch (FileNotFoundException e) {
        JOptionPane.showMessageDialog(null, "The file does not exist!" + "\nProgram is terminating.", "File Not Found", JOptionPane.INFORMATION_MESSAGE);
        System.exit(0);
    }
    cap = list.size();
    search_names = new int[cap];
    for (int i = 0; i < list.size(); i++) {
        search_names[i] = i;
    }
    setNames(search_names);
}//end loadFile

デバッグログ: Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar Have no file for /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar Have no file for /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar }

4

7 に答える 7

4

NetBeansでは、デフォルトの作業ディレクトリは常にルートフォルダです。つまり、「src」、「build」などの名前のフォルダを含むフォルダです。これらのフォルダと一緒にファイルを配置すると、うまくいきます。

于 2011-08-17T11:31:06.933 に答える
3

NetBeansIDE7.0.1でのステップバイステップの手順は次のとおりです。

  1. [ファイル]メニューをクリックします。
  2. プロジェクトのプロパティをクリックします。
  3. カテゴリで、[実行]を選択します。
  4. メインクラスでは、現在のJavaファイルを選択します。
  5. [引数]で、読み取りたいファイル(abc.txtやabc.javaなど)を選択します。
  6. そして、Working Directoryに、このabc.txtまたはabc.javaが存在するフォルダーのパスを書き留めます。
  7. [OK]をクリックして、プロジェクトのプロパティを閉じます。
  8. プログラムの実行中は、プロジェクトをメインプロジェクトとして選択することを忘れないでください。
  9. 次に、キーボードのF^をクリックします。つまり、現在のJavaファイルを実行するだけでなく、メインプロジェクトを起動する必要があります。それだけです....お楽しみください!!!!
于 2011-09-27T15:31:47.537 に答える
1

最終的に解決策を見つけました

Eclipseでは、ターゲットファイルをプロジェクトフォルダーに配置する必要があります。同じことがNetBeansにも当てはまると思います。

「src」フォルダ(実際のコードファイルがあった場所)にターゲットファイルがありました。実際、プロジェクトフォルダがある上位フォルダに変更する必要がありました。

簡単でシンプル。

于 2011-09-19T06:30:05.640 に答える
0

おそらく、セットアップごとに異なる「作業ディレクトリ」があります。次のように印刷することで、現在のディレクトリを確認できます。

System.out.println(new File(".").getAbsoluteFile());

Eclipseでは、実行構成の[引数]タブで作業ディレクトリを設定できます。

于 2011-08-17T11:21:04.490 に答える
0

BufferedReaderを試してみませんか?

編集:コードにより近い例を示すために編集されました。ファイルリーダーを使用すると例外が発生しました。しかし.println、BufferedReaderでできました。使用しませんでしScannerた。

EDIT2:私はあなたのコードを機能させることもできました。スキャナーなどを使用する場合(フルパスを使用する場合)(例:FileReader read = new FileReader(""C:\\myfolder\\folder\\a.txt"。うーん。

  try {
  list = new LinkedList<Patient>();
  BufferedReader scan = new BufferedReader(new FileReader("C:\\a.txt"));
  String lines;
            try {
                // Scanner scan = new Scanner(read);
                while ((lines = scan.readLine()) != null) {
                 //I just printed lines you will do your stuff here
                    System.out.println(lines);
                    }
            } catch (IOException ex) {
                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        catch (FileNotFoundException e) {
      JOptionPane.showMessageDialog(null, "The file does not exist!" + "\nProgram is terminating.", "File Not Found", JOptionPane.INFORMATION_MESSAGE);
      System.exit(0);     
        }
于 2011-08-17T11:32:11.593 に答える
0

テキストファイルを右クリックしてプロパティを選択し、パスをコピーして、ファイル名を入力した場所に貼り付けます

于 2013-07-28T07:31:42.623 に答える
0

netbeansにtest.txtを追加したいとしましょう

プロジェクトがC:\ myProjectにある場合は、テキストファイルをC :\ myProject \ srcではなくC:\myProjectファイル内に直接配置します。次に使用します:

ファイルfile=new File( "test.txt");

Scanner in = new Scanner(file);

また

スキャナー入力=newScanner(new File( "test.txt"));

于 2016-01-18T18:21:06.700 に答える