今天王师傅给推荐CSV格式,CSV算是一种文本存/取通用规则,主要规则是逗号的运用,Java阵营有一个开源软件(两个类)专门搞CSV格式的转换。
参考资料:
示例:
/**
* CSV规范测试用例
* @version 2013-04-24
* @author WangYanCheng
*/
public class CSVTest {
private static final File testFile = new File("D:/DEV/900_TEST/CSVWriteTest.csv");
private static String[][] testData;
static {
testData = new String[][]{{"A", "B", "汉", "字"}, {"\"分号", "!@#$%^&*()", "./\\<>`", "`", "/\\//\\\\\\\\"}};
}
/**
* CSV写入测试
*/
public void doWriteTest() {
CsvWriter csvWriter = null;
try {
csvWriter = new CsvWriter(new FileOutputStream(testFile), ',', Charset.forName("GBK"));
for (int i = 0; i < testData.length; i++) {
for (int j = 0; j < testData[i].length; j++) {
csvWriter.write(testData[i][j]);
}
csvWriter.endRecord();
}
csvWriter.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != csvWriter) {
csvWriter.close();
}
}
}
/**
* CSV读取测试
*/
public void doReadTest() {
CsvReader csvReader = null;
try {
csvReader = new CsvReader(new FileInputStream(testFile), Charset.forName("GBK"));
while (csvReader.readRecord()) {
int colCount = csvReader.getColumnCount();
for (int columnIndex = 0; columnIndex < colCount; columnIndex ++) {
System.out.print(csvReader.get(columnIndex));
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (null != csvReader) {
csvReader.close();
}
}
}
/**
* 测试入口
* @param args 参数列表
*/
public static void main(String[] args) {
new CSVTest().doWriteTest();
new CSVTest().doReadTest();
}
}