0

パッケージ内のテキスト ファイルを読み取る方法はありますか。「a」というパッケージにある「myTextFile.txt」というファイルにアクセスしたいとしましょう。

同じパッケージにある「MyClass」というクラスからアクセスしたい。「myTextFile.txt」へのパスは何ですか? そして、次のように bufferedreader を使用できますか:BufferedReader in = new BufferedReader(new FileReader(PATH));

4

6 に答える 6

0

クラスの GetResource はうまく機能します。Spring の ResourceLocator も非常に柔軟なオプションです。

于 2012-10-28T00:41:57.933 に答える
0

ClassLoader.getResourceAsStream() (または getResource())を介して常にリソースを取得できます。また、(ClassLoader の代わりに) Class.getResourceAsStream()を介してアクセスすることもできます。相対名または絶対名 (/ で始まる) のいずれかを使用できます。

于 2012-10-28T00:43:44.337 に答える
0

Class.getResource()またはClassLoader.getResource()メソッドのいずれかを使用する必要があるようです。

URL url = MyClass.class.getResource("myTextFile.txt"); 
URL url = MyClass.class.getClassLoader().getResource("myTextFile.txt");

また

InputStream in = MyClass.class.getResourceAsStream("myTextFile.txt"); 
InputStream in = MyClass.class.getClassLoader().getResourceAsStream("myTextFile.txt");

比較、および絶対パスと相対パスの説明については、この質問を参照してください。

それからあなたはすることができます

new BufferedReader(new InputStreamReader(in));
于 2012-10-28T00:39:16.163 に答える
0

InputStream is = new BufferedInputStream( getClass(). getClassLoader(). getResourceAsStream("/a/myTextFile.txt"));

トリックを行う必要があります。arg の構造に注意してください。パッケージのルートは「/」で表され、パッケージ (つまりディレクトリ) も同様です。

于 2012-10-28T00:39:40.620 に答える
0

プロジェクトはどこにコンパイルされますか? すべてのパスは、クラスではなく、プログラムの場所、または指定した場合はフル パスに対して相対的になります。そのパスを取得したら、どこにでも置くことができますPATH

ただし、そのファイルをパッケージに入れる理由はありますか? ある種のリソースディレクトリに入れるべきではありませんか?

于 2012-10-28T00:40:07.887 に答える
-1

絶対ファイルパスを入力するだけです。つまり、lcoal マシンのパスです。動作するはずです。

于 2014-09-10T20:05:33.277 に答える