0

私はこのような文字列を持っています -

String text = "item1, item2, item3, item4 etc..."

これらの文字列を拡張子を変更するだけで csv に変換されるテキスト ファイルに書き込む Java コードを作成しました。ロジックは次のとおりです-文字列を出力してから、新しい行に移動して別の文字列を出力します。

テスト文字列が10 ~ 20 項目しかない場合、テキスト ファイルへの出力は完璧でした。

しかし、私の実際の文字列には、それぞれ約 3000 の一意の項目があります。そのような文字列は約20,000あります。

これらすべての文字列をテキスト ファイルに書き込むと、めちゃくちゃになります。20,000 行ではなく 3000 行と表示されます。

この問題は既にテスト済みなので、コードは必要ないと思います。データを適切にフォーマットできることだけが必要です。

コードを見たい人のために -

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;


public class Texty {

    public static void main(String[] args) {

        System.out.println("start");

        String str = "";
        String enter = System.getProperty( "line.separator" );

        for(int i = 0; i< 5; i++){
            str = str + i + ",";

        }

            str = str + 5; 
        System.out.println(str);

        FileWriter fw = null;
        File newTextFile = new File("C:\\filez\\output.txt");
        try {
            fw = new FileWriter(newTextFile);
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {

            for(int i = 0; i < 10; i++){

             fw.write(str + enter);

            }

            fw.close();

        } catch (IOException iox) {
            //do stuff with exception
            iox.printStackTrace();
        }

        System.out.println("stop");

    }

}
4

1 に答える 1

3

10 列と 3000 列の間に違いはなく、行が長いだけです。

また、10 行と 20,000 行の間に違いはありません。突出部にはより多くの行があります。

Java やファイル システムでは、はるかに大きなファイルを保持できますが、一部の古いバージョンの Excel では、非常に多くの列 (256 列の制限がありました) またはそのような大きなファイル (約 1 GB の制限がありました) を読み込むことができませんでした。生データの)

ファイルが別のプログラムで正しいことを確認します。たとえば、作成したプログラムでは、すべてのデータがそこにあることがわかります。

データがそこにない場合は、バグがあります。Java、Windows、または Linux には、表示されている動作を説明する制限はありません。

于 2013-05-17T05:44:27.077 に答える