java解析csv代码 java如何解析csv文件

java处理csv文件

我来说一下大致的实现步骤,具体实现需要你自己去写了

创新互联公司坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验创新互联公司是成都老牌网站营销服务商,为您提供成都网站建设、网站设计、网站设计、H5响应式网站、网站制作、品牌网站制作小程序开发服务,给众多知名企业提供过好品质的建站服务。

1.检索数据,检索到的数据假定为一个list

2.你需要自己写一个objectToString之类的方法来把检索到的数据转化为一个String或StringBuffer,就是往各字段间插",",往个记录间插"\r\n",如此这类的转换,假定转换好的字符串为strResult.

3.然后用下面的代码写在后台来控制下载,文件名那里你可以把时间格式控制好,或者用前台传过来的参数做名字。

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里将从excel读到的数据用csv导出,代码怎么写

解释:csv文件实际上就是字符串,之间用“,”进行分割,之后进行的存储。

工具类如下:

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStreamWriter;

import java.util.List;

/**

*

* CSV文件导出工具类

*/

public class CSVUtils {

/**

* CSV文件生成方法

* @param head

* @param dataList

* @param outPutPath

* @param filename

* @return

*/

public static File createCSVFile(List head, ListList dataList,

String outPutPath, String filename) {

File csvFile = null;

BufferedWriter csvWtriter = null;

try {

csvFile = new File(outPutPath + File.separator + filename + ".csv");

File parent = csvFile.getParentFile();

if (parent != null !parent.exists()) {

parent.mkdirs();

}

csvFile.createNewFile();

// GB2312使正确读取分隔符","

csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(

csvFile), "GB2312"), 1024);

// 写入文件头部

writeRow(head, csvWtriter);

// 写入文件内容

for (List row : dataList) {

writeRow(row, csvWtriter);

}

csvWtriter.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

csvWtriter.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return csvFile;

}

/**

* 写一行数据方法

* @param row

* @param csvWriter

* @throws IOException

*/

private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {

// 写入文件头部

for (Object data : row) {

StringBuffer sb = new StringBuffer();

String rowStr = sb.append("\"").append(data).append("\",").toString();

csvWriter.write(rowStr);

}

csvWriter.newLine();

}

}

Object-Z

java如何用FileIputStream按行读取csv文件 求代码

FileInputStream是按字节读取文件的

按行读取的话,用BufferedReader

BufferedReader br = null;

try {

br = new BufferedReader(new FileReader("ss.csv"));

String str = "";

while (null != (str = br.readLine())) {

System.out.println(str);

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if (br!= null) {

try {

br.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

用的相对路径,ss.csv和类放在一个文件夹里了

如何用Java解析CSV文件

package com.test;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class TestImportCsv {

private InputStreamReader fr = null;

private BufferedReader br = null;

public TestImportCsv(String f) throws IOException {

fr = new InputStreamReader(new FileInputStream(f));

}

/**

* 解析csv文件 到一个list中 每个单元个为一个String类型记录,每一行为一个list。 再将所有的行放到一个总list中

*/

public ListListString readCSVFile() throws IOException {

br = new BufferedReader(fr);

String rec = null;// 一行

String str;// 一个单元格

ListListString listFile = new ArrayListListString();

try {

// 读取一行

while ((rec = br.readLine()) != null) {

Pattern pCells = Pattern

.compile("(\"[^\"]*(\"{2})*[^\"]*\")*[^,]*,");

Matcher mCells = pCells.matcher(rec);

ListString cells = new ArrayListString();// 每行记录一个list

// 读取每个单元格

while (mCells.find()) {

str = mCells.group();

str = str.replaceAll(

"(?sm)\"?([^\"]*(\"{2})*[^\"]*)\"?.*,", "$1");

str = str.replaceAll("(?sm)(\"(\"))", "$2");

cells.add(str);

}

listFile.add(cells);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (fr != null) {

fr.close();

}

if (br != null) {

br.close();

}

}

return listFile;

}

public static void main(String[] args) throws Throwable {

TestImportCsv test = new TestImportCsv("D:/test.csv");

ListListString csvList = test.readCSVFile();

}

}

新闻名称:java解析csv代码 java如何解析csv文件
文章链接:https://www.cdcxhl.com/article42/hgpihc.html

成都网站建设公司_创新互联,为您提供定制开发网站营销网站设计商城网站网站建设响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司