Java-Apache.commons.csvでCSVファイルを書き込む

jonbon :

Javaではapache.commons.csvライブラリを使用しています次のコードを使用して、WebページからCSVファイルを読み取っています。

InputStream input = new URL(url).openStream();
        Reader reader = new InputStreamReader(input, "UTF-8");

        defaultParser = new CSVParser(reader, CSVFormat.DEFAULT);
        excelParser = new CSVParser(reader, CSVFormat.EXCEL.withHeader()); 

        defaultParsedData = defaultParser.getRecords();
        excelParsedData = excelParser.getRecords();

ただし、このファイルを開いて後で読み取るために、このライブラリに簡単にこのファイルをコンピューターに書き込む方法が見つかりません。

このコードを試してファイルを保存しました。

String outputFile = savePath+".csv";
        CSVPrinter csvFilePrinter = null;
        CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
        FileWriter fileWriter = new FileWriter(outputFile);
        csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);

        for (CSVRecord csvRecord : excelParser) {
            for(String dataPoint: csvRecord){
                csvFilePrinter.print(dataPoint);
            }
            csvFilePrinter.print('\n');
         }

        fileWriter.flush();
        fileWriter.close();
        csvFilePrinter.close();

しかし、このコードでファイルを読み取ろうとすると、何も出力されません。

InputStream input = new FileInputStream(cvsFilePath);
        Reader reader = new InputStreamReader(input, "UTF-8");

        CSVParser load = new CSVParser(reader, CSVFormat.EXCEL);
        //TEST THAT IT WORKED
        java.util.List<CSVRecord> testlist = load.getRecords();
        CSVRecord dataPoint = testlist.get(0);
        System.out.println("print: " + dataPoint.get(0));

これは「print:」のみを出力します

System.out.println("print: " + dataPoint.get(1));

それは与える

スレッド「メイン」の例外java.lang.ArrayIndexOutOfBoundsException:1

保存したCSVファイルをメモ帳で開くと、空白行が表示されます。

2016-03-04,714.98999,716.48999,706.02002,710.890015,1967900,710.890015、 ""、2016-03-03,718.679993,719.450012,706.02002,712.419983,1956800,712.419983、 ""、2016-03-02,719.00,720.00,712.00,718.849976、 1627800、718.849976、」

アルノー:

すべてのレコードを同じ行に印刷しているようです。

printRecordsのような他のメソッドがより役立つでしょう:

String outputFile = savePath+".csv";
CSVPrinter csvFilePrinter = null;
CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
FileWriter fileWriter = new FileWriter(outputFile);
csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);

csvFilePrinter.printRecords(excelParser.getRecords());


fileWriter.flush();
fileWriter.close();
csvFilePrinter.close();

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JavaでApache Commonsを使用してCSVを書き込むときに二重引用符を含める

分類Dev

Apache commons csv skip lines

分類Dev

Javaでcsvファイルをgzipに書き込む

分類Dev

Javaでファイルを削除する際の問題(Apache Commons IO)

分類Dev

Apache Commons CSVforループ開始インデックス1を使用してJavaでCSVファイルを読み取る

分類Dev

Java-文字列をCSVファイルに書き込む

分類Dev

Get CSV file header using apache commons

分類Dev

Get CSV file header using apache commons

分類Dev

GB18030 でエンコードされた csv ファイルを Apache Commons CSV で解析する方法

分類Dev

Javaでorg.apache.commons.lang名前空間を使用する方法

分類Dev

Apache-POI / Java / Excelファイルに書き込むときに行を除外する

分類Dev

Apache-POI / Java / Excelファイルに書き込むときに行を除外する

分類Dev

パッケージorg.apache.commons.csvを使用してJavaで.csvファイルのヘッダーを印刷するにはどうすればよいですか?

分類Dev

保存前後のCSVの違いによるエラー解析(Java w / Apache Commons CSV)

分類Dev

JavaがオブジェクトをCSVファイルに書き込む

分類Dev

Java-ハッシュマップをcsvファイルに書き込む

分類Dev

Java-ハッシュマップをcsvファイルに書き込む

分類Dev

JavaのCSVファイルに先行ゼロの文字列を書き込む

分類Dev

Apache Commons CSVを使用して、ヘッダー付きのハッシュマップのリストからCSVを書き込む

分類Dev

Java apache commonsを使用してファイルをダウンロードしますか?

分類Dev

Java 11のApache Commons 4.5.5で大きなファイルをアップロード/ダウンロードする

分類Dev

.jarファイルを開くことができません。JNIエラー。java.lang.NoClassDefFoundError:org / apache / commons / exec / ExecuteStreamHandler

分類Dev

java.lang.ClassNotFoundException:org.apache.commons.text.WordUtils

分類Dev

#java.lang.NoClassDefFoundError:org / apache / commons / digester / Digester

分類Dev

java.lang.NoClassDefFoundError:org / apache / commons / collections / Transformer

分類Dev

java.lang.NoClassDefFoundError:Lorg / apache / commons / collections / FastHashMap;

分類Dev

org.apache.commons.lang.SerializationException:java.lang.ClassNotFoundException

分類Dev

java.lang.ClassNotFoundException:org.apache.commons.digester.Rule

分類Dev

java.lang.ClassNotFoundException:org.apache.commons.lang.UnhandledException

Related 関連記事

  1. 1

    JavaでApache Commonsを使用してCSVを書き込むときに二重引用符を含める

  2. 2

    Apache commons csv skip lines

  3. 3

    Javaでcsvファイルをgzipに書き込む

  4. 4

    Javaでファイルを削除する際の問題(Apache Commons IO)

  5. 5

    Apache Commons CSVforループ開始インデックス1を使用してJavaでCSVファイルを読み取る

  6. 6

    Java-文字列をCSVファイルに書き込む

  7. 7

    Get CSV file header using apache commons

  8. 8

    Get CSV file header using apache commons

  9. 9

    GB18030 でエンコードされた csv ファイルを Apache Commons CSV で解析する方法

  10. 10

    Javaでorg.apache.commons.lang名前空間を使用する方法

  11. 11

    Apache-POI / Java / Excelファイルに書き込むときに行を除外する

  12. 12

    Apache-POI / Java / Excelファイルに書き込むときに行を除外する

  13. 13

    パッケージorg.apache.commons.csvを使用してJavaで.csvファイルのヘッダーを印刷するにはどうすればよいですか?

  14. 14

    保存前後のCSVの違いによるエラー解析(Java w / Apache Commons CSV)

  15. 15

    JavaがオブジェクトをCSVファイルに書き込む

  16. 16

    Java-ハッシュマップをcsvファイルに書き込む

  17. 17

    Java-ハッシュマップをcsvファイルに書き込む

  18. 18

    JavaのCSVファイルに先行ゼロの文字列を書き込む

  19. 19

    Apache Commons CSVを使用して、ヘッダー付きのハッシュマップのリストからCSVを書き込む

  20. 20

    Java apache commonsを使用してファイルをダウンロードしますか?

  21. 21

    Java 11のApache Commons 4.5.5で大きなファイルをアップロード/ダウンロードする

  22. 22

    .jarファイルを開くことができません。JNIエラー。java.lang.NoClassDefFoundError:org / apache / commons / exec / ExecuteStreamHandler

  23. 23

    java.lang.ClassNotFoundException:org.apache.commons.text.WordUtils

  24. 24

    #java.lang.NoClassDefFoundError:org / apache / commons / digester / Digester

  25. 25

    java.lang.NoClassDefFoundError:org / apache / commons / collections / Transformer

  26. 26

    java.lang.NoClassDefFoundError:Lorg / apache / commons / collections / FastHashMap;

  27. 27

    org.apache.commons.lang.SerializationException:java.lang.ClassNotFoundException

  28. 28

    java.lang.ClassNotFoundException:org.apache.commons.digester.Rule

  29. 29

    java.lang.ClassNotFoundException:org.apache.commons.lang.UnhandledException

ホットタグ

アーカイブ