java读写Csv文件的方法

最近在做嵌入式Linux平台上的服务器,使用的工具是Java。
在项目中一方面要将所有数据记录在日志文件中,存储于嵌入式Linux平台上;另一方面要将实时数据存放在一个表格里,随时供网络查询。
日志文件我们曾经选用过txt文件,这个最简单;excel文件,使用jxl;使用过sqlLite嵌入式数据库,使用第三方的java库。调试通过,运行的还算不错。不过遇到了一个java虚拟机内存不足的问题,我们将虚拟机分配的内存设置为32M,解决了那个问题。
可是老板认为以上方法太繁琐,兼顾美观性和实用性,选用了CSV文件作为日志文件。
查来查去,总结了一下网络上大家的方法。读写CVS文件主要有两大类方法:借用第三方库和使用FileWriter类。
一、使用第三方库的方法。
目前的第三方库主要有opencsv、javacsv,貌似还有个叫supercsv,不过都大同小异。
二、使用FileWriter的方法。
这是我最终使用的方法,很好用,也不用添加库,加一个示例代码,与大家分享。
import java.io.FileWriter;  
import java.io.IOException; 
public class javacsv { 
/**  
 * 写csv文件  
 */    
 public static void main(String[] args) {  
  try { 
                  //如果没有这个文件会自动创建
                  //如果有了这个文件,会在该文件的尾部续写 
  FileWriter fw = new FileWriter("E:\\youyouTest.csv",true); 
  fw.write("aaa,bbb,ccc,ddd,eee,fff,ggg,hhh\n"); 
  fw.write("aaa,bbb,ccc,ddd,eee,fff,ggg,hhh\n");  
  fw.write("aa1,bb1,cc1,dd1,ee1,ff1,gg1,hh1\n");  
  fw.write("aaa\n");  
  fw.write("aa2,bb2,cc2,dd2,ee2,ff2,gg2,hh2\n");  
  fw.close();  
   } catch (IOException e) {  
          e.printStackTrace();  
   }  
 }  
}
以上方法是实际项目中用到的,记录下来,供自己查阅。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSV文件的常见方法有两种:使用Java内置的Scanner类和使用第三方库OpenCSV。 使用Scanner类CSV文件的示例代码如下: ```java import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class CsvReader { public static void main(String[] args) { File file = new File("input.csv"); try { Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); String[] fields = line.split(","); for (String field : fields) { System.out.print(field + "\t"); } System.out.println(); } scanner.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } } ``` 使用OpenCSVCSV文件的示例代码如下: ```java import com.opencsv.CSVReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class CsvReader { public static void main(String[] args) { String csvFile = "input.csv"; try { CSVReader reader = new CSVReader(new FileReader(csvFile)); String[] line; while ((line = reader.readNext()) != null) { for (String field : line) { System.out.print(field + "\t"); } System.out.println(); } reader.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ``` CSV文件的常见方法也有两种:使用Java内置的PrintWriter类和使用第三方库OpenCSV。 使用PrintWriter类CSV文件的示例代码如下: ```java import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; public class CsvWriter { public static void main(String[] args) { File file = new File("output.csv"); try { PrintWriter writer = new PrintWriter(file); List<String[]> lines = new ArrayList<>(); lines.add(new String[]{"Name", "Age", "Gender"}); lines.add(new String[]{"John", "30", "Male"}); lines.add(new String[]{"Mary", "25", "Female"}); for (String[] line : lines) { for (int i = 0; i < line.length; i++) { writer.print(line[i]); if (i < line.length - 1) { writer.print(","); } } writer.println(); } writer.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } } ``` 使用OpenCSVCSV文件的示例代码如下: ```java import com.opencsv.CSVWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class CsvWriter { public static void main(String[] args) { String csvFile = "output.csv"; try { CSVWriter writer = new CSVWriter(new FileWriter(csvFile)); List<String[]> lines = new ArrayList<>(); lines.add(new String[]{"Name", "Age", "Gender"}); lines.add(new String[]{"John", "30", "Male"}); lines.add(new String[]{"Mary", "25", "Female"}); writer.writeAll(lines); writer.close(); } catch (IOException e) { e.printStackTrace(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值