java 读取文件csv_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 {

//如果没有这个文件会自动创建

//如果有了这个文件,会在该文件的尾部续写

  • 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(); } } } ``` 使用OpenCSV库读取CSV文件的示例代码如下: ```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(); } } } ``` 使用OpenCSV库写入CSV文件的示例代码如下: ```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、付费专栏及课程。

余额充值