本文目录一览:
1、JAVA导入txt、CSV的例子
2、如何用java解析CSV文件
3、java操作csv文件
4、java怎么读写创建csv文件
5、java处理csv文件
6、java对操作csv文件
JAVA导入txt、CSV的例子
导入文件若为二进制格式的csv或xls文件需要用jxl.jar包来解析,若文件为文本格式逗号分隔的csv文件则需要用opencsv.jar包来解析。下面为导入两种格式文件的代码示例:
- 导入文本格式逗号分隔的csv文件
import au.com.bytecode.opencsv.CSVReader;
public void importCsvFile() {
CSVReader csvReader = null;
try {
csvReader = new CSVReader(new FileReader(importFile), ','); // importFile为要导入的文本格式逗号分隔的csv文件,提供getXX/setXX方法
if (csvReader != null) {
// first row is title, so past
csvReader.readNext();
String[] csvRow = null; // row
while ((csvRow = csvReader.readNext()) != null) {
for (int i = 0; i < csvRow.length; i++) {
String temp = csvRow[i];
switch (i) {
case 0:
if (StringUtils.isNotEmpty(temp)) {
linkman.setLinkmanName(temp);
}
break;
case 1:
if (StringUtils.isNotEmpty(temp)) {
linkman.setLinkmanEmail(temp);
}
break;
default:
break;
}
}
// 保存linkman到数据库
if (linkman.getLinkmanName() != null && linkman.getLinkmanEmail() != null) {
EmailLinkmanAPI.insertLinkman(linkman);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
- 二进制格式的csv或xls文件
import jxl.Sheet;
import jxl.Workbook;
public void importXlsFile() {
Workbook book = null;
try {
book = Workbook.getWorkbook(importFile); // importFile为要导入的xls文件,或二进制的csv文件,提供getXX/setXX方法
} catch (Exception e) {
e.printStackTrace();
}
if (book != null) {
int sheetNo = book.getNumberOfSheets();
for (int i = 0; i < sheetNo; i++) {
Sheet sheet = book.getSheet(i);
int rowNum = sheet.getRows();
int colNum = sheet.getColumns();
// first row is title, so past
for (int r = 1; r < rowNum; r++) { // 行
for (int c = 0; c < colNum; c++) { // 列
String temp = sheet.getCell(c, r).getContents();
switch (c) {
case 0:
if (StringUtils.isNotEmpty(temp)) {
linkman.setLinkmanName(temp);
}
break;
case 1:
if (StringUtils.isNotEmpty(temp)) {
linkman.setLinkmanEmail(temp);
}
break;
default:
break;
}
}
// 保存linkman到数据库
if (linkman.getLinkmanName() != null && linkman.getLinkmanEmail() != null) {
EmailLinkmanAPI.insertLinkman(linkman);
}
}
}
}
}
如何用java解析CSV文件
思想:先获取csv文件的路径,通过BufferedReader类去读该路径中的文件,使用readLine方法进行逐行读取。 注意:使用readLine方法后会自动转到下一行。因此在判断是否为空后得先将读取到的内容赋值给一变量,在循环中使用该变量即可。
public static void main(String[] args) {
File csv = new File("C:\\Users\\chenxumin\\Desktop\\Result.csv"); // CSV文件路径
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(csv));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String line = "";
String everyLine = "";
try {
List<String> allString = new ArrayList<>();
while ((line = br.readLine()) != null) { // 读取到的内容给line变量
everyLine = line;
System.out.println(everyLine);
allString.add(everyLine);
}
System.out.println("csv表格中所有行数:" + allString.size());
} catch (IOException e) {
e.printStackTrace();
}
}
java操作csv文件
看楼主比较懂,参阅RandomAccessFile类 先用seek(long pos)把指针指向文件最后 然后视你的数据用
writeBytes(String s)
//有汉字什么的writeChars(String s)
//一般的字符串writeUTF(String str)
//有UTF-8的字符 写入数据
java怎么读写创建csv文件
一、使用第三方库的方法。 目前的第三方库主要有opencsv、javacsv,貌似还有个叫supercsv,不过都大同小异。 二、使用FileWriter的方法。 这是我最终使用的方法,很好用,也不用添加库,加一个示例代码,与大家分享。
import java.io.FileWriter;
import java.io.IOException;
public class javacsv {
/**
* 写csv文件
*/
public static void main(String[] args) {
try {
// 示例代码
} catch (Exception e) {
e.printStackTrace();
}
}
}
java处理csv文件
我来说一下大致的实现步骤,具体实现需要你自己去写了
- 检索数据,检索到的数据假定为一个list
- 你需要自己写一个objectToString之类的方法来把检索到的数据转化为一个String或StringBuffer,就是往各字段间插",",往个记录间插"\r\n",如此这类的转换,假定转换好的字符串为strResult。
- 然后用下面的代码写在后台来控制下载,文件名那里你可以把时间格式控制好,或者用前台传过来的参数做名字。
response.setContentType("application/download;charset=UTF-8");
response.setHeader("Content-disposition", "attachment;filename=\"" + new Date() + ".csv\"");
OutputStream o = response.getOutputStream();
byte b[] = strResult.getBytes();
try {
o.write(b);
} catch (IOException e) {
e.printStackTrace();
} finally {
o.close();
}
java对操作csv文件
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public void test(int row, int col) {
try {
BufferedReader reader = new BufferedReader(new FileReader("C:\\a.csv")); // 换成你的文件名
String line = null;
int index = 0;
while ((line = reader.readLine()) != null) {
String item[] = line.split(","); // CSV格式文件为逗号分隔符文件,这里根据逗号切分
if (index == row - 1) {
if (item.length >= col - 1) {
String last = item[col - 1]; // 这就是你要的数据了
System.out.println(last);
}
}
index++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test test = new Test();
test.test(3, 2);
}
}
你的数据格式有问题,空格的个数不确定,没法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:
1 电机12WBS23PID34CP5社供出6原価実绩7社供WC8外注费9直材费10自家制品11直経费12その他13注残14注残