csv就是个普通的文件,直接读写就行了,行之间用\r\n换行,列之间用,分开
用
DataOutputStream fou = new DataOutputStream(new FileOutputStream(filename););
fouwrite("1,2,3,4,5");
fouwrite("\r\n");
fouwrite("1,2,3,4,5");
就能输出两行5列的csv文件。
读取时候每次读一行,然后用Stringsplite()方法获取本行的所有列
给你修改了下,你上面的代码肯定是隔行的读的,原因如下:
你在while(brreadLine() != null)这里面读了一次,但没有保存此时读的数据
然后你下面String readline = brreadLine();
又读了下一行,然后保存了。。
所以你只能显示第二行,第四行。
希望能帮到你~!
BufferedReader br = new BufferedReader(new FileReader(file));
String readline = new String();
while((readline = brreadLine()) != null){
Systemoutprintln( readline );
}
import javaioBufferedWriter;
import javaioFile;
import javaioFileOutputStream;
import javaioOutputStreamWriter;
import javaioWriter;
import javautilArrayList;
import javautilList;
/
CSV文件示例程序
@version 10 2014/10/30
/
public class CsvFileCreator {
public static void main(String[] args) {
CsvFileCreator example = new CsvFileCreator();
examplecreateCsv();
}
/
创建CSV文件
/
public void createCsv(){
//换行符
final String NEW_LINE = "\n";
//文件名称
String fileName = "D:\\MyCsvcsv";
try {
//标题头
String title = "序号,姓名,年龄,身高";
StringBuilder csvStr = new StringBuilder();
csvStrappend(title)append(NEW_LINE);
//数据行
for(String csvData : getCsvRows()){
csvStrappend(csvData)append(NEW_LINE);
}
//写文件
Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(fileName)), "GB2312"));
writerwrite(csvStrtoString());
writerflush();
writerclose();
} catch (Exception e) {
eprintStackTrace();
}
}
/
获取CSV行数据,各个值之间使用英文逗号分隔
@return List<String>
/
private List<String> getCsvRows(){
List<String> result = new ArrayList<String>();
resultadd("1,Mr Zhang,20,170");
resultadd("2,Mrs Wang,18,175");
resultadd("3,Li,30,178");
resultadd("4,Zhao,19,175");
resultadd("5,Ms Feng,18,165");
return result;
}
}
以上就是关于谁有讲解java *** 作csv文件的文件。讲解javacsv的也行。全部的内容,包括:谁有讲解java *** 作csv文件的文件。讲解javacsv的也行。、java读取.csv文件,现在读出来的数据时隔行的,打印出来的数据先是第二行的,再是第4行的,不知道什么原因、java中生成了一个csv文件,通过excel打开csv,数据没有分列,如何在就java语言里实现。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)