0

Javaでテキストファイルを読む方法を学ぼうとしています。このテキスト ファイルは、IdealWeight.java と同じフォルダーに配置しました。ここで何か不足していますか?

理想体重.java

package idealweight;

import java.util.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class IdealWeight 
{
    public static void main(String[] args) 
    {
       Scanner fileIn = null; //Initializes fileIn to empty
       try 
       {
           fileIn = new Scanner
                   (
                        new FileInputStream
                            ("Weights.txt") 
                   );
       }
       catch (FileNotFoundException e)
       {
           System.out.println("File not found!");
       }
    }
}
4

3 に答える 3

3

ファイルをクラスパスに配置してから、次のようにすることもできます。

InputStream in = this.getClass().getClassLoader()
                                .getResourceAsStream("Weights.txt");

ちょうど別のアイデア。

于 2013-10-13T02:00:40.083 に答える
1

Java ファイル IO システムは、クラスと同じディレクトリではなく、アプリケーションの「デフォルト」ディレクトリでファイルを検索します。実行するすべてのアプリケーションには、デフォルトと見なされるディレクトリがあり、それがこのファイルを開こうとする場所です。ファイルへの絶対パス名を入れてみてください。

または、読み取りたいファイルをディレクトリに配置し、そのディレクトリから (ターミナル ウィンドウで) "java IdealWeight" を使用してアプリケーションを実行します。

于 2013-10-13T01:55:50.767 に答える
0

Weights.txtは、ソース ファイルのあるディレクトリではなく、作業ディレクトリに配置する必要があります。Eclipse または同様の IDE を使用している場合、これはおそらくプロジェクトのルートです。この回答に従って、このスニペットを使用して、作業ディレクトリへのフル パスを取得できます。

System.out.println("Working Directory = " + System.getProperty("user.dir"));

そのコマンドの実行結果を確認すると、テキスト ファイルを配置する場所がわかります。テキスト ファイルを適切な場所に配置したら、投稿したコードは正常に動作するはずです。

于 2013-10-13T01:58:21.753 に答える