CSV文件
- 什么是CSV文件
一种类似表格的文件
在 CSV文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。
- Java-CSV文件导出
/**
* CSV文件导出
* @param file csv文件(路径+文件名), csv文件不会自动创建
* @param dataList 数据
* @return
*/
public static boolean exportCsv(File file, List<String> dataList){
boolean isSuccess = false;
//创建文件流,赋值为null
FileOutputStream outputStream = null;
OutputStreamWriter outputStreamWriter = null;
BufferedWriter bufferedWriter = null;
//操作
try {
outputStream = new FileOutputStream(file);
outputStreamWriter = new OutputStreamWriter(outputStream);
bufferedWriter = new BufferedWriter(bufferedWriter);
if(dataList!=null && !dataList.isEmpty()){
for(String date:dataList){
//添加数据
bufferedWriter.append(date).append("\r");
}
}
isSuccess = true;
} catch (Exception e) {
isSuccess = false;
}finally {
if(bufferedWriter!=null){
try{
bufferedWriter.close();
bufferedWriter = null;
}catch (IOException e){
e.printStackTrace();
}
}
if(outputStreamWriter!=null){
try {
outputStreamWriter.close();
outputStreamWriter = null;
} catch (IOException e) {
e.printStackTrace();
}
}
if(outputStream!=null){
try {
outputStream.close();
outputStream = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return isSuccess;
}
- Java-CSV文件导入
/** * CSV文件导出 * @param file csv文件(路径+文件名), csv文件不会自动创建 * @param dataList 数据 * @return */ public static boolean exportCsv(File file, List<String> dataList){ boolean isSuccess = false; //创建文件流,赋值为null FileOutputStream outputStream = null; OutputStreamWriter outputStreamWriter = null; BufferedWriter bufferedWriter = null; //操作 try { outputStream = new FileOutputStream(file); outputStreamWriter = new OutputStreamWriter(outputStream); bufferedWriter = new BufferedWriter(bufferedWriter); if(dataList!=null && !dataList.isEmpty()){ for(String date:dataList){ //添加数据 bufferedWriter.append(date).append("\r"); } } isSuccess = true; } catch (Exception e) { isSuccess = false; }finally { if(bufferedWriter!=null){ try{ bufferedWriter.close(); bufferedWriter = null; }catch (IOException e){ e.printStackTrace(); } } if(outputStreamWriter!=null){ try { outputStreamWriter.close(); outputStreamWriter = null; } catch (IOException e) { e.printStackTrace(); } } if(outputStream!=null){ try { outputStream.close(); outputStream = null; } catch (IOException e) { e.printStackTrace(); } } } return isSuccess; } /** * CSV文件导入 * @param file csv文件(路径+文件) * @return */ public static List<String> importCsv(File file){ List<String> dataList = new ArrayList<String>();//数据 BufferedReader bufferedReader = null; try { bufferedReader = new BufferedReader(new FileReader(file));//为文件流赋数据 String line = ""; while ((line = bufferedReader.readLine())!=null){ dataList.add(line); } } catch (Exception e) { e.printStackTrace(); }finally { if(bufferedReader!=null){ try { bufferedReader.close(); bufferedReader = null; } catch (IOException e) { e.printStackTrace(); } } } return dataList; }
- 测试
- /** * CSV文件导入测试 */
- public static void exportCsvTest(List<String> dataList)
- { boolean isSuccess = CVS.exportCsv(new File("F:/CSVTest.csv"),dataList);
- System.out.println(isSuccess); }
- /** * CSV文件导出测试 */ public void importCsvTest()
- { List<String> dataList = CVS.importCsv(new File("F:/haha.csv"));
- if(dataList!=null && !dataList.isEmpty())
- { for(String data:dataList){ System.out.println(data); } } }