2012-03-14 8 views
0

を置き換える:lcsvファイルの行は次のように私は、CSVファイルを作成してい

public class check 
{ 
public static void main(String [] args) 
{ 
    generateCsvFile("/RMT/test.csv"); 
} 

private static void generateCsvFile(String sFileName) 
{ 
try 
{ 
    FileWriter writer = new FileWriter(sFileName,false); 

    writer.write("DisplayName"); 
    writer.write(','); 
    writer.write("Age"); 
    writer.write('\n'); 

    writer.write("MKYONG"); 
    writer.write(','); 
    writer.write("26"); 

    writer.write("YOUR NAME"); 
    writer.write(','); 
    writer.write("29"); 

    writer.flush(); 
    writer.close(); 
} 
catch(IOException e) 
{ 
    e.printStackTrace(); 
} 
} 

ここで私は、ファイル内の2行を書いていますが、私は最初の行を置換する二行目(書いていたときにヘッダー)を追加しないでください。どうすればいいですか?いくつか私を助けることができますか?

+0

なぜあなたはこれをしたいかをチェックしてください! – beerbajay

+0

実際に私のプロジェクトでは、csvファイルに読み込まれたavg、max、minバイトを印刷する必要がありました...私は10秒ごとにそれらの値を計算します...しかし、最終的には最終的な結果がほしいです...だから、私はちょうど毎回その行を置き換えたいので、私は合計平均、最大と最小を得る –

+1

なぜ計算を行うことはできませんメモリとファイルに一度だけ書き込みますか? – Kent

答えて

0

私はcsvデータをメモリに読み込んで計算し、その結果をファイルに書き込みます。

それは何らかの形であなたのために動作しない場合:

  • あなたはへつもり書き込みされているファイルをロードして、第一行(ヘッダ)を読んで、それから(メモリ内の)新しい計算データセットを追加することができ、ファイルを上書きします。

  • ヘッダーが固定テキストの場合、変数として保存してからファイルからヘッダーを読み込む必要はありません。あなたは正確にファイルを操作する必要がある場合

  • 、java.io.RandomAccessFile

+0

どうすれば上書きできますか? –

+0

ファイルを開いたままにしておけば、ファイルを上書きしません。あなたはそれぞれの執筆の後にどちらかを閉じることができますまたは開いたままにしてオフセットを取得し、オフセットに新しいデータを書き込みます。古いコンテンツは上書きされます。 – Kent

関連する問題