2012-01-01 3 views
0

私はこのような「進歩」というフォルダ内のいくつかの.txtファイルがあります:私は、EclipseでJavaアプリケーションとしてそれを実行したときにプログラムがファイルを完全に罰金読み込み、私はそれをエクスポートするとき私のプログラムはEclipseで.txtファイルを読み込みますが、.jarとして書き出したときは読み込めません。

enter image description here

を瓶のようにそれを実行し、それは動作しません。 BufferedReaderを使用して.txtファイルを読み込み、テキストファイルを「progress1/easy1.txt」などと参照します。これを修正するために何かできることはありますか?

EDIT:

私はこのようなライターの方法があります:

public void writeToFile(String filename){ 

    BufferedWriter bufferedWriter = null; 

    try { 

      //Construct the BufferedWriter object 
      bufferedWriter = new BufferedWriter(new FileWriter(filename)); 

      //Start writing to the output stream 
      bufferedWriter.write("a"); 

     } catch (FileNotFoundException ex) { 
      ex.printStackTrace(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } finally { 
      //Close the BufferedWriter 
      try { 
       if (bufferedWriter != null) { 
        bufferedWriter.flush(); 
        bufferedWriter.close(); 
       } 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 

} 

それでは、どのように私は(.getResourceAsStreamを組み込むだろう)これで?

答えて

2

はい、ソース内のディレクトリに配置し、クラスパスを使用してアクセスしてください。たとえば、Class.getResourceAsStream()を参照してください。これはどこでもうまく動作します。

ファイル名が私のファイルの名前です
FileInputStream fis = new FileInputStream(filename); 
    Scanner scanner = new Scanner(fis); 

(ファイルのパスを含む):

+0

私はwriteToFile()メソッドでメインポストを編集しました。どのように私はgetResourceAsStream()を書くメソッドで動作するように入れますか? –

+0

これらのファイルを*と*書き込んでいますか?それでクラスパスのものは動作しません。私はあなたがそれらを読んでいるだけだと思った。読み書きが必要な場合は、Eclipse外で実行するときにアクセスできるファイル名を選択する必要があります。 –

+0

ええ、申し訳ありませんが、はっきりしていたはずです。だから、私はEclipseから実行中にアクセスできるファイル名をどういう意味ですか? Users \ Asingh \ Desktop \ easy1.txtなどと同じですか? –

0

私のクラスには、使用して私のプロジェクトのルートフォルダからファイルを読み込みます。

あなたは、プロセスの「起動設定」として、私の場合のtesting.ReverseWords中(mainメソッドを持つ)あなたのクラスを選択日食を使用して、実行可能なjarファイルを生成し、同様にjarファイルを実行する場合:

のjava -cp runnable.jar testing.ReverseWords progress/B-large-practice.in

ファイルを検索します。私はあなたを助けることを望む。