java 读取csv文件代码

java 读取csv文件代码<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %>
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>java 读取csv文件代码</title>
</head>

<body>
<%
/*

*/

import java.io.bufferedreader;
import java.io.bufferedwriter;
import java.io.file;
import java.io.filereader;
import java.io.filewriter;
import java.io.ioexception;
import java.text.simpledateformat;
import java.util.arraylist;
import java.util.date;
import java.util.list;
import java.util.stringtokenizer;
import java.util.logging.filehandler;
import java.util.logging.formatter;
import java.util.logging.level;
import java.util.logging.logrecord;
import java.util.logging.logger;

public class inputfile
{
private static logger getlogger()
{
try
{
filehandler hand = new filehandler( "c:/test/log.txt" );
hand.setlevel( level.all );
logger log = logger.getlogger( "log_file" );
hand.setformatter( new myloghander() );
log.addhandler( hand );
return log;
}
catch( exception e )
{
e.printstacktrace();
}
return null;

}


public static list< list< string > > fileinput( file file )
{
list< list< string > > listoflist = new arraylist< list< string > >();
try
{
if( file.exists() )
{
bufferedreader reader = new bufferedreader( new filereader( file ) );;
string line;
line = reader.readline();
for( ; line != null; line = reader.readline() )
{
stringtokenizer stokenizer = new stringtokenizer( line, " " );
list< string > list = new arraylist< string >();
while( stokenizer.hasmoreelements() )
list.add( stokenizer.nexttoken() );
listoflist.add( list );
}
}
else
getlogger().info( file + " not exist" );

(www.111cn.net) }
catch( ioexception e )
{
getlogger().info( e.getmessage() );
}

return listoflist;
}


public static list< list< string > > changevalue( list< list< string > > input, list< list< string > > param )
{
for( list< string > list : param )
{
int row = integer.parseint( list.get( 0 ) );
int line = integer.parseint( list.get( 1 ) );
string value = list.get( 2 );
input.get( row - 1 ).set( line - 1, value );
}
return input;
}


public static string fileoutput( list< list< string >> input )
{
string string = null;
for( int i = 0; i < input.size(); i ++ )
{
list< string > list = input.get( i );
for( int j = 0; j < list.size(); j ++ )
{
if( j == list.size() - 1 )
string += list.get( j ) + "n";
else
string += list.get( j ) + " ";
}
}
return string;
}


public static void writefile( string string, string pfad )
{
try
{
file datafile = new file( pfad );
bufferedwriter writer = new bufferedwriter( new filewriter( datafile ) );
writer.write( string );
writer.close();
}
catch( ioexception e )
{
getlogger().info( e.getmessage() );
}
}


public static void main( string[] args ) throws ioexception
{

file datefile = new file( args[0] );
file parafile = new file( args[1] );
list< list< string >> inputfile = inputfile.fileinput( datefile );
list< list< string >> paramfile = inputfile.fileinput( parafile );
inputfile = inputfile.changevalue( inputfile, paramfile );
string string = inputfile.fileoutput( inputfile );
inputfile.writefile( string, args[2] );
}
}

class myloghander extends formatter
{
public string format( logrecord record )
{
date date = new date();
simpledateformat sdf = new simpledateformat( "yyyy/mm/dd hh:mm:ss" );
return sdf.format( date ) + ":" + record.getmessage() + "n";
}
}

%>
</body>
</html>
from:[url]http://www.111cn.net/jsp/Java/csv.htm[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用CSV文件读取库来读取CSV文件,其中常用的库包括OpenCSV和Apache Commons CSV。 1. 使用OpenCSV OpenCSV是一个流行的CSV文件读取库,它可以从文件读取CSV数据并将其转换为Java对象。以下是使用OpenCSV读取CSV文件的示例代码: ```java import com.opencsv.CSVReader; import java.io.FileReader; import java.io.IOException; public class CSVReaderExample { public static void main(String[] args) throws IOException { CSVReader reader = new CSVReader(new FileReader("data.csv")); String[] line; while ((line = reader.readNext()) != null) { for (String value : line) { System.out.print(value + " "); } System.out.println(); } reader.close(); } } ``` 在上面的代码中,我们创建了一个CSVReader实例并将其与CSV文件连接。然后,我们使用readNext()方法逐行读取CSV文件,并将每行的值存储在一个String数组中。最后,我们遍历String数组并输出每个值。 2. 使用Apache Commons CSV Apache Commons CSV是另一个流行的CSV文件读取库。以下是使用Apache Commons CSV读取CSV文件的示例代码: ```java import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; import java.io.FileReader; import java.io.IOException; public class CSVReaderExample { public static void main(String[] args) throws IOException { CSVFormat format = CSVFormat.DEFAULT.withHeader().withDelimiter(','); CSVParser parser = new CSVParser(new FileReader("data.csv"), format); for (CSVRecord record : parser) { String name = record.get("Name"); int age = Integer.parseInt(record.get("Age")); String email = record.get("Email"); System.out.println(name + ", " + age + ", " + email); } parser.close(); } } ``` 在上面的代码中,我们使用CSVFormat类定义CSV文件格式。然后,我们创建了一个CSVParser实例并将其与CSV文件连接。使用CSVRecord类,我们可以逐行读取CSV文件并将其转换为Java对象。在本例中,我们使用get()方法访问每个字段的值,并将其转换为相应的Java数据类型。最后,我们输出每个记录的值。 这些是使用Java读取CSV文件的两种常见方法。你可以选择你喜欢的方法,根据需要进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值