导航:首页 > 文件教程 > java读取cvs文件

java读取cvs文件

发布时间:2024-08-09 06:39:29

1. java操作csv文件

cvs格式实际上就是字符串,直接通过英文”,“来进行的间隔显示,所以直接写入的时候直接在流中添加英文标点逗号即可。
实现思路:就是将需要保留的内容写入另外一个cvs文件中在满足条件处进行增加、删除、修改操作。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.cvs”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.cvs”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(!str.indexOf("<end>")){//判断如果不满足cvs行条件就删除
pw.write(str);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

2. 求个java读取csv文件并输出的程序

要使用CsvReader,CsvWriter需要下载一个javacsv.jar导入到项目中

packagetest;importcom.csvreader.CsvReader;importcom.csvreader.CsvWriter;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassreadandwrite{publicstaticvoidmain(String[]args)throwsIOException{String[]str={"省","市","区","街","路","里","幢","村","室","园","苑","巷","号"};StringinString="";StringtmpString="";FileinFile=newFile("C://in.csv");//读取的CSV文件FileoutFile=newFile("C://outtest.csv");//输出的CSV文try{BufferedReaderreader=newBufferedReader(newFileReader(inFile));BufferedWriterwriter=newBufferedWriter(newFileWriter(outFile));CsvReadercreader=newCsvReader(reader,',');CsvWritercwriter=newCsvWriter(writer,',');while(creader.readRecord()){inString=creader.getRawRecord();//读取一行数据for(inti=0;i<str.length;i++){tmpString=inString.replace(str[i],","+str[i]+",");inString=tmpString;}//第一个参数表示要写入的字符串数组,每一个元素占一个单元格,第二个参数为true时表示写完数据后自动换行cwriter.writeRecord(inString.split(","),true);//注意,此时再用cwriter.write(inString)方法写入数据将会看到只往第一个单元格写入了数据,“,”没起到调到下一个单元格的作用//如果用cwriter.write(Stringstr)方法来写数据,则要用cwriter.endRecord()方法来实现换行//cwriter.endRecord();//换行cwriter.flush();//刷新数据}creader.close();cwriter.close();}catch(FileNotFoundExceptionex){ex.printStackTrace();}}}

3. 如何使用eclipse编写java程序读取csv文件中

package ImportTestData;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader("a.csv"));//换成你的文件名
reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉
String line = null;
while((line=reader.readLine())!=null){
String item[] = line.split(",");//CSV格式文件为逗号分隔符文件,这里根据逗号切分

String last = item[item.length-1];//这就是你要的数据了
//int value = Integer.parseInt(last);//如果是数值,可以转化为数值
System.out.println(last);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

4. java读取CSV文件

可以通过流的形式读取到所有内容,之后在转换成元素的形式进行实现。举例:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.*;

public class Test{
public static void main(String[] args) {
Hashtable<String, String[]> dict = new Hashtable<String, String[]>();
try {
BufferedReader reader = new BufferedReader(new FileReader("test.csv"));
String line = null;
while((line=reader.readLine())!=null){
String item[] = line.split(",");
String item2[] = new String[19];
System.array(item,1,item2,0,19);
dict.put(item[0],item2);
}
Enumeration e2 = dict.keys();
while (e2.hasMoreElements()) {
String key = (String) e2.nextElement();
System.out.println(key);
String[] dd = (String[])dict.get(key);
for (int i=0;i<dd.length;i++) {
System.out.print(dd[i]+"\t");
}
System.out.println();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}

5. 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"));//换成你的文件名
// reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉
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);
}
}
//int value = Integer.parseInt(last);//如果是数值,可以转化为数值
index++;
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
test.test(3, 2);
}
}

你的数据格式有问题,空格的个数不确定,没办法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:

1电机1

2WBS2

3PID3

4CP

5社供出

6原価実绩

7社供WC

8外注费

9直材费

10自家制品

11直経费

12その他

13注残

14注残

阅读全文

与java读取cvs文件相关的资料

热点内容
安装win10后需要输入WiFi密码吗 浏览:412
c语言加法的编程格式是什么样的 浏览:195
用户大数据怎么计算 浏览:717
手机app软件怎么开发 浏览:785
记得app 浏览:854
网络教课优点是什么 浏览:846
设置验证被拉入微信群 浏览:966
bubblegum教程 浏览:474
win7如何修改用户密码 浏览:169
逆战辅助销售网站源码 浏览:100
陕西回收贴片机如何编程 浏览:948
以前鲍鱼网站里的小说怎么没了 浏览:267
matlab程序如何调试 浏览:915
ps工程文件怎么发 浏览:95
word文件如何批量插入盖章 浏览:548
jscheckbox 浏览:338
pics规则文件 浏览:644
如何从数据中找出问题和机会 浏览:668
写作投稿在哪个网站好 浏览:895
绝代双骄版本 浏览:380

友情链接