web-dev-qa-db-ja.com

AndroidでCSVファイルにデータをエクスポートするにはどうすればよいですか?

デバイスのsdカードに出力することを目指している次の形式でcsvファイルを作成しました。

Ship Name,Scientist Name,Scientist Email,Sample Volume,Sample Colour,Longitude,Latitude,Material,Date

Csvの各値は、日付の最後の値を除いて文字列型になります。 csvファイルの名前はAnalysisData.csv

このようなStackoverflowの例を探しました アプリAndroidからCSVファイルにデータをエクスポートする ですが、これは不要な新しいファイルを作成します。

私はすでにプロジェクトにopencsv jarを追加しているので、関連するサンプルが必要です。

Androidでこれを達成するためのアドバイスはありますか?

11
Brian J

このコードスニペットで試してください:

  String baseDir = Android.os.Environment.getExternalStorageDirectory().getAbsolutePath();
  String fileName = "AnalysisData.csv";
  String filePath = baseDir + File.separator + fileName;
  File f = new File(filePath);
  CSVWriter writer;

  // File exist
  if(f.exists()&&!f.isDirectory())
    {
      mFileWriter = new FileWriter(filePath, true);
      writer = new CSVWriter(mFileWriter);
    }
  else
    {
      writer = new CSVWriter(new FileWriter(filePath));
    }

    String[] data = {"Ship Name", "Scientist Name", "...", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").formatter.format(date)});

  writer.writeNext(data);

  writer.close();
24
Chulo