您的位置:首页 > 移动开发 > Android开发

Android Java 如何读写CSV格式文件

2015-03-23 17:17 417 查看
CSV 文件是Excel 的标准文件格式,在开发过程中经常需要格式化输出数据。CSV 的格式非常简单,都是一行一行存储的,同一行不同列之间用逗号隔开。下面的代码即为输出CSV 格式文件。

package com.test.mytest;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.os.Environment;

public class MyTestClass1 {

public static final String mComma = ",";
private static StringBuilder mStringBuilder = null;
private static String mFileName = null;

public static void open() {
String folderName = null;
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
if (path != null) {
folderName = path +"/CSV/";
}
}

File fileRobo = new File(folderName);
if(!fileRobo.exists()){
fileRobo.mkdir();
}
mFileName = folderName + "log.csv";
mStringBuilder = new StringBuilder();
mStringBuilder.append("column1");
mStringBuilder.append(mComma);
mStringBuilder.append("column2");
mStringBuilder.append(mComma);
mStringBuilder.append("column3");
mStringBuilder.append("\n");
}

public static void writeCsv(String value1, String value2, String value3) {
mStringBuilder.append(value1);
mStringBuilder.append(mComma);
mStringBuilder.append(value2);
mStringBuilder.append(mComma);
mStringBuilder.append(value3);
mStringBuilder.append("\n");
}

public static void flush() {
if (mFileName != null) {
try {
File file = new File(mFileName);
FileOutputStream fos = new FileOutputStream(file, false);
fos.write(mStringBuilder.toString().getBytes());
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else {
throw new RuntimeException("You should call open() before flush()");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: