2016-11-03 20 views
-2

私は過去2年間、Javaからjavaへの移行が初めてで、VBからJavaへの移行はnetbeans 8を使用しています。 私はloop acumaltedデータをファイルに書き出し、最後に FlickChooserを使用して特定の場所に生成されたファイルを保存したい場合 は私のコードですが、doilogで名前を書いたときにMy Desktopではファイルが表示されません。Javaのファイルへの書き込みとファイルの保存fileChooser

public void SaveToFile() throws IOException { 
try (Writer writer = new BufferedWriter(new OutputStreamWriter(
      new FileOutputStream("test.txt"), "utf-8"))) { 
    int i=0; 
    String Data[]=new String[10]; 
    while(i<10){ 
writer.write("Student No :" + i); 
    Data[i]= "Student No :" + i; 
    ++i; 
    } 



    } 

     int userSelection = db.showSaveDialog(this); 
    if (userSelection == JFileChooser.APPROVE_OPTION) { 
     File fileToSave = db.getCurrentDirectory(); 
        String path = fileToSave.getAbsolutePath(); 
        path = path.replace("\\", File.separator); 
        System.out.println("Save as file: " + path); 

    } 
    } 
+0

質問に投票した人は、簡単で不可欠だと思われますが、それは理にかなっていません。質問があった場合、または少なくとも投票の理由。私は複雑な質問に答えないように心がけていましたが、何か投票しても簡単ではありませんでした。これは私が多くの疑問に気付かなかったので、私はここでより多くのGoogleに質問しました。 –

答えて

3

これにはいくつかの問題があります。 1つは、ここに表示しているコードのいずれも、ディレクトリを選択した後の ".Save()"呼び出し、またはコピーまたは移動の呼び出しを示していません。 2つ目は、Fileオブジェクトはファイル名ではなくディレクトリを指しています。 3つ目は、あなたの最初のWriterオブジェクトは、実行中に.classまたは.jarファイルが存在するディレクトリにtest.txtを書き込んでいる可能性があります。

ディスクへの書き込みを開始する前に、使用するディレクトリとファイル名を調べる必要があります。

UPDATE

public void SaveToFile() throws IOException { 
    int userSelection = db.showSaveDialog(this); 
    if (userSelection == JFileChooser.APPROVE_OPTION) { 
     File fileToSave = db.getCurrentDirectory(); 
     String path = fileToSave.getAbsolutePath() + File.separator + "test.txt"; 

     try (Writer writer = new BufferedWriter(new OutputStreamWriter(
        new FileOutputStream(path), "utf-8"))) { 
      int i=0; 
      //String Data[]=new String[10]; 
      while(i<10){ 
       writer.write("Student No :" + i); 
       //Data[i]= "Student No :" + i; // Not sure why Data[] exists? 
       ++i; 
      } 
     } 

     System.out.println("Save as file: " + path); 
    } 
} 

私は、これはあなたが必要なものに近いと思います。私は現時点でJavaコンパイラを持っていないので、それがすべて良い構文であるかどうかは確かに言えません。しかし、多くのオンラインJavaチュートリアルがあります。

+0

あなたは私に "Data"という文字列の中のデータをファイルにロードする方法を教えてもらえますか?そして "db"という名前のFileChooserを保存する方法を教えてください –

+0

あなたは正しいトラック上にあります。少し。私はJavaに100%熱心ではありませんが、プログラミングの原則は基本的に同じです。 – Matt