Android如何读写CSV文件方法示例
程序员文章站
2023-12-16 11:46:28
前言
本文主要给大家介绍的是关于android读写csv文件的相关内容,csv也就是comma-separated values逗号分隔的文本文件,
读写csv文件和读...
前言
本文主要给大家介绍的是关于android读写csv文件的相关内容,csv也就是comma-separated values逗号分隔的文本文件,
读写csv文件和读写普通文件类似;写的时候给数据之间添加上逗号。
设定存储路径和文件名:
private static final string file_folder = environment.getexternalstoragedirectory().getabsolutepath() + file.separator + "aboutview" + file.separator + "data"; private static final string file_csv = "about_data.csv";
写csv文件
使用fileoutputstream来向文件尾部添加数据
fileoutputstream.write(byte[] data)
向文件流写入字节数据。
class writedata2csvthread extends thread { short[] data; string filename; string folder; stringbuilder sb; public writedata2csvthread(short[] data, string folder, string filename) { this.data = data; this.folder = folder; this.filename = filename; } private void createfolder() { file filedir = new file(folder); boolean hasdir = filedir.exists(); if (!hasdir) { filedir.mkdirs();// 这里创建的是目录 } } @override public void run() { super.run(); createfolder(); file efile = new file(folder + file.separator + filename); if (!efile.exists()) { try { boolean newfile = efile.createnewfile(); } catch (ioexception e) { e.printstacktrace(); } } try { fileoutputstream os = new fileoutputstream(efile, true); sb = new stringbuilder(); for (int i = 0; i < data.length; i++) { sb.append(data[i]).append(","); } sb.append("\n"); os.write(sb.tostring().getbytes()); os.flush(); os.close(); } catch (exception e) { e.printstacktrace(); } } }
读csv文件
使用bufferedreader读取每一行内容;读出来的数据带有逗号分隔符
class readcsvthread extends thread { string filename; string folder; public readcsvthread(string folder, string filename) { this.folder = folder; this.filename = filename; } @override public void run() { super.run(); file infile = new file(folder + file.separator + filename); final stringbuilder csb = new stringbuilder(); string instring; try { bufferedreader reader = new bufferedreader(new filereader(infile)); while ((instring = reader.readline()) != null) { csb.append(instring).append("\n"); } reader.close(); } catch (exception e) { e.printstacktrace(); } runonuithread(new runnable() { @override public void run() { mcsvtv.settext(csb.tostring());// 显示 } }); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。