2012-01-22 11 views
1

srcフォルダにあるtxtファイルからデータを読み込むJavaアプリケーションを構築しました。私がプログラムで指定したパスは/src/data.txtで、netbeansから実行すると動作します。しかし、jarファイルを開こうとしたときに何も表示されません。だから私はコマンドラインからjavacを使ってみたが、これは私にdata.txtが見つからないというエラーを与える。jarにsrcファイルを追加するには?

データファイルがjarに含まれていることを確認してスタンドアロンとして機能させるにはどうすればよいですか?おかげさまで EDIT1:ファイルをロードするコードのスニペットを示します。さてここでTVF出力です:

 Error: Could not find or load main class jar

C:\Users\Abhishek>jar -tvf Scrades.jar 0 Sun Jan 22 18:47:08 IST 2012 META-INF/ 199 Sun Jan 22 18:47:06 IST 2012 META-INF/MANIFEST.MF 2562 Sun Jan 22 18:47:08 IST 2012 CombinationGenerator.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$1.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$2.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$3.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$4.class 684 Sun Jan 22 18:47:08 IST 2012 Gameplay$5.class 969 Sun Jan 22 18:47:08 IST 2012 Gameplay$6.class 18279 Sun Jan 22 18:47:08 IST 2012 Gameplay.class 2275 Sun Jan 22 18:47:08 IST 2012 PermutationGenerator.class 1252444 Sun Jan 22 18:47:08 IST 2012 eng_final1.txt 3771960 Sun Jan 22 18:47:08 IST 2012 english_huge.txt 815532 Sun Jan 22 18:47:08 IST 2012 english_long.txt 16104 Sun Jan 22 18:47:08 IST 2012 english_short.txt 1506 Sun Jan 22 18:47:08 IST 2012 readFile.class
+0

'jar -tvf the.jar'の出力をコピーして貼り付けます。 –

+0

ファイルをコードでどのように読み込みますか?あなたはクラスパスを使いますか? URL?フルパス ?私たちにいくつかのコードを表示 –

+0

あなたのコードを教えてください。また、ファイルIOは、ジャーにあるものにアクセスするための適切なツールではないことを理解してください。また、あなたのアプリケーションのユーザーは自分のマシンにsrcフォルダを持っていないことを理解しています。 –

答えて

0

手動で、場所を点検し、瓶の中のファイルを削除することができ、使用するパスは、前述の/scr/data.txt

public String [] openFile() throws IOException { 
     FileReader fr = new FileReader(this.path); 
     BufferedReader br = new BufferedReader(fr); 
     String []text = new String[this.numberoflines]; 
     for(int i=0;i<this.numberoflines;++i) 
     { 
      text[i]=br.readLine(); 
     } 
     br.close(); 
     return text; 
} 

EDIT2ですwinrarのようなrar抽出プログラムを使ってアーカイブしてください:Class.getResourceAsStream(String)を使ってアクセスしてください。

InputStream is = getClass().getResourceAsStream("/src/data.txt"); 
    InputStreamReader isr = new InputStreamReader(is); 
    BufferedReader br = new BufferedReader(isr); 
    String line; 
    while ((line = br.readLine()) != null){ 
     //Perform operations 
    } 
    br.close(); 
    isr.close(); 
    is.close(); 
+0

データファイルがjarファイルにあります(winrarを使用してチェックしました)。このコマンドの仕組みを詳しく教えてください。 – user1163203

+0

Googleはあなたの友人であり、javadocは読まれるべきです。 http://stackoverflow.com/questions/7736149/how-to-specify-path-for-properties-file/7736239#7736239またはhttp://stackoverflow.com/questions/7152749/access-a-file-inを参照してください。 -package/7153574#7153574例を示します。 –

+0

このリソースストリームを使用する代わりに、FileReaderコンストラクタのpathパラメータを変更して動作させる方法はありますか? – user1163203

関連する問題