- 浏览: 534455 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (377)
- J2EE (61)
- ORACLE (36)
- JS (15)
- EXT (0)
- win7 (12)
- TOMCAT (10)
- game (1)
- ie (5)
- etc (8)
- ibatis (3)
- ORACLE 客户端 (1)
- bat (3)
- 健康 (127)
- baby (4)
- html (12)
- myeclipse (16)
- 射手 字幕默认下载 位置 (1)
- office (0)
- car (2)
- xxx (1)
- python简介 (1)
- FusionCharts (1)
- dorado (4)
- english (3)
- weblogic (3)
- request/servlet (3)
- wsdl (1)
- offie2010 visio2010 下载 (1)
- nexus5 (0)
- chrome (3)
- ssi (2)
- 安卓 (3)
- nexus ipad (1)
- mysql (4)
- json (3)
- struts (6)
- datagrid (1)
- highcharts (1)
- tools (2)
- tool (1)
- spring3 (1)
- jedit (1)
- java (4)
- windows (1)
- easyui (2)
- 液晶显示器色温 (1)
- mybatis (1)
- where (1)
- sublime (1)
- spring4 (3)
最新评论
-
spring_springmvc:
如何在java Web项目中开发WebService接口,地址 ...
java 调用WebService服务接口 -
chenzheng8975:
阅
人生三大陷阱 -
ygbb007:
直接OD就能破解的
myBase Desktop 6.0 破解方法 -
lanlansnss:
直接删除nyfedit.ini文件即可
myBase Desktop 6.0 破解方法 -
yunzhu:
LZ写博客不太注重排版啊,排版不行别人没法看的
PermGen space
Java处理csv文件
5人收藏此文章, 我要收藏 发表于9个月前(2012-08-09 20:34) , 已有433次阅读 ,共0个评论
背景:
做数据订正的时候,需要对查询出的一批数据进行批量的复杂操作,存储过程需要审批嫌麻烦,这里采用一个main函数将 csv 中的数据进行 sql 拼接。
第一步:下载Java操作 CSV 的类库,http://ostermiller.org/utils/download.html
第二步:配置log4j,输出sql到日志文件
01
log4j.rootLogger=CONSOLE,FILE
02
log4j.addivity.org.apache=true
03
04
# 应用于控制台
05
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
06
log4j.appender.CONSOLE.Threshold=INFO
07
log4j.appender.CONSOLE.Target=System.out
08
log4j.appender.CONSOLE.Encoding=GBK
09
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
10
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
11
12
#应用于文件
13
log4j.appender.FILE=org.apache.log4j.FileAppender
14
log4j.appender.FILE.File=C:/sqlresult.log
15
log4j.appender.FILE.Append=false
16
log4j.appender.FILE.Encoding=GBK
17
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
第三步:MainCVS程序
01
package coffee;
02
03
import java.io.FileInputStream;
04
import java.io.IOException;
05
06
import org.apache.log4j.Logger;
07
08
import com.Ostermiller.util.ExcelCSVParser;
09
import com.Ostermiller.util.LabeledCSVParser;
10
11
/**
12
* 通过cvs文件生成SQL文件
13
*
14
* @author lee.ll 2012-8-9 下午2:19:41
15
*/
16
public class MainCSV {
17
18
private static Logger log = Logger.getLogger(MainCSV.class.getName());
19
20
// csv解析器,对于第一行的表头信息,自动加载为索引关键字
21
private LabeledCSVParser csvParser;
22
// 文件所读到行数
23
private int currLineNum = -1;
24
// 用来存放当前行的数据
25
private String[] currLine = null;
26
27
// 构造函数
28
protected MainCSV(String filePath) throws IOException{
29
csvParser = new LabeledCSVParser(new ExcelCSVParser(new FileInputStream(filePath)));
30
currLineNum = csvParser.getLastLineNumber();
31
}
32
33
// 检查是否还有数据 return ture 还有一行数据,false 没有数据
34
public boolean hasMore() throws IOException {
35
currLine = csvParser.getLine();
36
currLineNum = csvParser.getLastLineNumber();
37
if (null == currLine) return false;
38
return true;
39
}
40
41
// 返回当前行数据,关键字所指向的数据 param:String filedName 该行的表头 return:String 返回当前行数据,关键字所指向的数据
42
public String getByFieldName(String fieldName) {
43
return csvParser.getValueByLabel(fieldName);
44
}
45
46
// 关闭解析器
47
public void close() throws IOException {
48
csvParser.close();
49
}
50
51
// 读取当前行数据 return String[] 读取当前行数据
52
public String[] readLine() throws IOException {
53
currLine = csvParser.getLine();
54
currLineNum = csvParser.getLastLineNumber();
55
return currLine;
56
}
57
58
public int getCurrLineNum() {
59
return currLineNum;
60
}
61
62
public static void main(String[] args) {
63
try {
64
// 实例解析器CsvFileParser
65
MainCSV parser = new MainCSV("C:\\sqlresult.csv");
66
67
// 读取数据
68
while (parser.hasMore()) {
69
String updateSql = "update table set column1" + parser.getByFieldName("column1") + "), column2"
70
+ parser.getByFieldName("column2") + ";";
71
72
log.info(updateSql);
73
}
74
75
parser.close();
76
77
System.out.println("处理完毕!");
78
} catch (Exception e) {
79
System.out.println("处理失败!!!");
80
}
81
}
82
83
}
我这里是将拼接好的 sql 输出到日志 C:/sqlresult.log
5人收藏此文章, 我要收藏 发表于9个月前(2012-08-09 20:34) , 已有433次阅读 ,共0个评论
背景:
做数据订正的时候,需要对查询出的一批数据进行批量的复杂操作,存储过程需要审批嫌麻烦,这里采用一个main函数将 csv 中的数据进行 sql 拼接。
第一步:下载Java操作 CSV 的类库,http://ostermiller.org/utils/download.html
第二步:配置log4j,输出sql到日志文件
01
log4j.rootLogger=CONSOLE,FILE
02
log4j.addivity.org.apache=true
03
04
# 应用于控制台
05
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
06
log4j.appender.CONSOLE.Threshold=INFO
07
log4j.appender.CONSOLE.Target=System.out
08
log4j.appender.CONSOLE.Encoding=GBK
09
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
10
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
11
12
#应用于文件
13
log4j.appender.FILE=org.apache.log4j.FileAppender
14
log4j.appender.FILE.File=C:/sqlresult.log
15
log4j.appender.FILE.Append=false
16
log4j.appender.FILE.Encoding=GBK
17
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
第三步:MainCVS程序
01
package coffee;
02
03
import java.io.FileInputStream;
04
import java.io.IOException;
05
06
import org.apache.log4j.Logger;
07
08
import com.Ostermiller.util.ExcelCSVParser;
09
import com.Ostermiller.util.LabeledCSVParser;
10
11
/**
12
* 通过cvs文件生成SQL文件
13
*
14
* @author lee.ll 2012-8-9 下午2:19:41
15
*/
16
public class MainCSV {
17
18
private static Logger log = Logger.getLogger(MainCSV.class.getName());
19
20
// csv解析器,对于第一行的表头信息,自动加载为索引关键字
21
private LabeledCSVParser csvParser;
22
// 文件所读到行数
23
private int currLineNum = -1;
24
// 用来存放当前行的数据
25
private String[] currLine = null;
26
27
// 构造函数
28
protected MainCSV(String filePath) throws IOException{
29
csvParser = new LabeledCSVParser(new ExcelCSVParser(new FileInputStream(filePath)));
30
currLineNum = csvParser.getLastLineNumber();
31
}
32
33
// 检查是否还有数据 return ture 还有一行数据,false 没有数据
34
public boolean hasMore() throws IOException {
35
currLine = csvParser.getLine();
36
currLineNum = csvParser.getLastLineNumber();
37
if (null == currLine) return false;
38
return true;
39
}
40
41
// 返回当前行数据,关键字所指向的数据 param:String filedName 该行的表头 return:String 返回当前行数据,关键字所指向的数据
42
public String getByFieldName(String fieldName) {
43
return csvParser.getValueByLabel(fieldName);
44
}
45
46
// 关闭解析器
47
public void close() throws IOException {
48
csvParser.close();
49
}
50
51
// 读取当前行数据 return String[] 读取当前行数据
52
public String[] readLine() throws IOException {
53
currLine = csvParser.getLine();
54
currLineNum = csvParser.getLastLineNumber();
55
return currLine;
56
}
57
58
public int getCurrLineNum() {
59
return currLineNum;
60
}
61
62
public static void main(String[] args) {
63
try {
64
// 实例解析器CsvFileParser
65
MainCSV parser = new MainCSV("C:\\sqlresult.csv");
66
67
// 读取数据
68
while (parser.hasMore()) {
69
String updateSql = "update table set column1" + parser.getByFieldName("column1") + "), column2"
70
+ parser.getByFieldName("column2") + ";";
71
72
log.info(updateSql);
73
}
74
75
parser.close();
76
77
System.out.println("处理完毕!");
78
} catch (Exception e) {
79
System.out.println("处理失败!!!");
80
}
81
}
82
83
}
我这里是将拼接好的 sql 输出到日志 C:/sqlresult.log
发表评论
-
HttpClient4.X的代理密码
2018-07-11 23:48 871HttpClient4.X的代理添加实现(转自http://b ... -
Enable debug logging for this logger for a complete list of JARs that were scann
2018-06-28 21:59 1794修改EL表达式,例如"${owner.new}& ... -
job spring3--spring4
2017-12-28 09:21 461job spring3-->spring4 org ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2017-06-12 10:26 536java的(PO,VO,TO,BO,DAO,POJO) ... -
高內聚、低耦合。多聚合、少繼承
2017-05-22 15:52 799面向對象原則:高內聚、低耦合。多聚合、少繼承 2015-05 ... -
savesavesavesavesavesave
2017-05-18 17:24 493savesavesavesavesavesave uploa ... -
eclipse 图标的含义
2016-10-13 15:11 518... -
log4j-struts异常日志打印
2016-08-24 17:04 1062log4j.appender.myfile.layout.Co ... -
struts2 Action中获取request, response对象
2016-07-21 09:43 1171ajax不能完成文件下载, ... -
request和response的中文乱码问题
2016-03-04 10:39 1377request和response的中文乱码问题 request ... -
sun.misc.BASE64Encoder找不到jar包的解决方法
2015-06-29 15:10 845sun.misc.BASE64Encoder找不到jar包的解 ... -
jar 包 用途(jar功能对照表)
2015-04-08 16:07 1646jar包用途(jar功能对照表) axis.jar SOAP ... -
struts上传
2014-08-22 15:37 477jsp页面 <meta http-equiv=" ... -
java调用打印机打印自定义的图片
2014-08-19 16:03 3831package test; import java.awt. ... -
JAVA基类和派生类
2014-05-22 16:02 1298JAVA基类和派生类 从 ... -
web.xml配置详解
2014-02-20 08:56 8242007-10-16 17:12 Web.XML 配 ... -
不要使用sun.misc.BASE64Encoder
2014-02-18 10:10 1179一直以来Base64的加密解密都是使用sun.misc包下的B ... -
自定义Result
2014-01-13 10:18 752自定义Result 5.7.1 什么是自定义Result ... -
ant+javadoc生成API文档
2014-01-02 17:16 972ant+javadoc生成API文档 分类: ant 2006 ... -
ssi包下载
2013-12-27 10:15 970Spring官网改版后找了好 ...
相关推荐
- 解决Java处理CSV文件时的中文乱码问题,关键在于正确指定字符编码。 - 要注意文件的读取、写入以及处理过程中的编码一致性。 - 使用专门的CSV处理库能简化操作,并提供更好的兼容性。 - 对于复杂情况,了解并...
对于解析CSV文件,Java社区提供了许多第三方库,如OpenCSV、SuperCSV和Apache Commons CSV等,它们提供了更高级的功能,如自动类型转换、处理复杂格式和避免内存消耗等。例如,使用Apache Commons CSV库读取CSV文件...
在Java中,处理CSV文件有多种方式,本篇文章将详细介绍如何利用`opencsv-2.3.jar`库来进行高效的数据读写操作。 #### 二、所需库与环境准备 - **opencsv**: 一个用于读写CSV文件的Java库,版本为2.3。 - **开发环境...
首先,`javacsv`是一个轻量级的Java库,专门用于处理CSV文件。它提供了简单易用的API,使我们能够轻松地读取和写入CSV数据。在项目中使用这个库,你需要先将其添加到你的类路径中。如果你使用的是Maven,可以在pom....
在Java编程语言中,CSV...总之,处理CSV文件在Java中是一项常见的任务,Apache Commons CSV库提供了一套强大且易用的工具,使得读写CSV文件变得简单。通过理解这些接口和方法,你可以高效地处理各种CSV数据需求。
本文将深入探讨如何使用Java语言来操作CSV文件,包括读取、写入以及处理CSV数据。 首先,Java并没有内置的库直接支持CSV操作,但我们可以借助第三方库,如Apache Commons CSV、OpenCSV或Java 8引入的java.util.CSV ...
使用univocity-parsers,我们可以方便地将Java对象转换为CSV格式,或者从CSV文件中解析数据。以下是使用该库创建CSV文件的基本步骤: 1. 添加依赖:在你的项目中,你需要引入univocity-parsers的Maven或Gradle依赖...
使用 Java 读写 CSV 文件可以使用 Java IO 类库,但是在实际处理中发现 CSV 文件本身包含了对各种特殊字符的处理信息,这些处理信息可能会导致读取到的字符串不是原始内容。为了解决这个问题,可以使用 javacsv 库,...
在Java中,处理CSV文件通常需要借助第三方库,如本示例中的`javacsv.jar`。`javacsv`是由Dave Taylor创建的一个小型库,专门用于读写CSV文件。下面我们将详细探讨如何使用Java和`javacsv`库对CSV文件进行读写操作。 ...
在Java编程中,处理CSV文件是一项常见的任务,涉及到数据读取、解析、转换以及写入等操作。本篇将详细介绍如何在Java中解析CSV文件,并以给定的"Java解析CSV文件"主题为例,结合提供的资源——`lucky_number_format....
首先,我们需要了解如何在Java中生成CSV文件。CSV文件主要由一系列行组成,每行包含一个或多个以逗号分隔的值。在Java中,我们可以使用`BufferedWriter`或者`PrintWriter`来创建和写入这些文件。例如: ```java ...
本篇文章将深入探讨如何使用Java实现CSV文件的生成,并将其通过SFTP(Secure File Transfer Protocol)协议上传到指定服务器。 首先,我们要介绍的是用于生成CSV文件的库:univocity-parsers。这是一个高效、灵活且...
Apache Commons CSV提供了一套强大的API,能够轻松处理CSV文件的创建。 ```java import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; public class CSVWriterExample { public ...
在Java编程中,导出CSV(Comma Separated Values)和Excel...总之,Java提供了丰富的库来处理CSV和Excel文件,通过适当的方法,可以轻松地实现在服务器端生成文件并直接下载到客户端,而无需在服务器上保存临时文件。
总结起来,Java处理CSV文件主要涉及以下几个关键知识点: - CSV文件格式的理解,包括逗号分隔、引用字符、转义规则等。 - 使用第三方库如`javacsv`进行读写操作,理解和使用库的API。 - 文件I/O操作,如`FileReader`...
`javacsv`库是处理CSV文件的一种工具,特别是`CsvReader`类,它提供了方便的方法来读取和解析这些文件。 `CsvReader`是`javacsv`库中的核心类,用于读取CSV文件并将其内容转换为Java对象。这个库由`csv`和`java`...
当需要处理这些数据时,Java提供了一些库和方法来读取、解析和操作CSV文件,进而将这些数据写入数据库。 首先,我们来讨论如何在Java中读取CSV文件。最常用的库是Apache Commons CSV和OpenCSV。这两个库都提供了...
这个"java 读写csv文件 csv process"接口为处理CSV文件提供了一个全面的解决方案,它不仅实现了基本的读写功能,还支持数据转换和高级的文件修改操作。这样的接口对于需要处理CSV数据的Java项目来说非常实用,简化了...
一个非常好用的csv文件操作工具