13

クラスと同じパッケージにある「Words.txt」から読みたい場合、どうすればよいですか?実行すると、単にScanner = new Scanner(new File("Words.txt"));エラーが返されます。

4

4 に答える 4

18
InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...
于 2012-09-14T16:25:21.823 に答える
2

テキストファイルが、実行できるファイル.classではなく、と同じディレクトリにあると仮定します。.java

Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));

あなたが持っているものは、現在の作業ディレクトリでファイルを探します。プログラムを作成する場合、これは通常、プログラムのルートディレクトリです。スタンドアロンプ​​ログラムとして実行する場合、通常はプログラムの開始元のディレクトリです。

于 2012-09-14T16:24:49.367 に答える
2
Scanner = new Scanner(new File("/path/to/Words.txt")); 

File()コンストラクターの引数は、VMが実行されているシステムに相対的なパスであり、クラスのパッケージに依存しません。

あなたのwords.txtがあなたの戦争にパッケージ化されたリソースである場合、あなたはここで見ることができます:クラスパスのどこからでもリソースをロードする

于 2012-09-14T16:26:10.850 に答える
0
Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));

String s = new String();

while(scanner.hasNextLine()){


        s = s + scanner.nextLine();


 }
于 2012-09-14T16:28:29.240 に答える