Java中读取文件转换为字符串的方法
程序员文章站
2024-02-19 08:10:16
方式一
/**
以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
当然也是可以读字符串的。
*/
/* 貌似是说网络环境中比较复...
方式一
/**
以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
当然也是可以读字符串的。
*/
/* 貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/ public string readstring1() { try { //fileinputstream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 filereader。 fileinputstream instream=this.openfileinput(file_name); bytearrayoutputstream bos = new bytearrayoutputstream(); byte[] buffer=new byte[1024]; int length=-1; while( (length = instream.read(buffer) != -1) { bos.write(buffer,0,length); // .write方法 sdk 的解释是 writes count bytes from the byte array buffer starting at offset index to this stream. // 当流关闭以后内容依然存在 } bos.close(); instream.close(); return bos.tostring(); // 为什么不一次性把buffer得大小取出来呢?为什么还要写入到bos中呢? return new(buffer,"utf-8") 不更好么? // return new string(bos.tobytearray(),"utf-8"); } }
方式二
// 有人说了 filereader 读字符串更好,那么就用filereader吧
// 每次读一个是不是效率有点低了? private static string readstring2() { stringbuffer str=new stringbuffer(""); file file=new file(file_in); try { filereader fr=new filereader(file); int ch = 0; while((ch = fr.read())!=-1 ) { system.out.print((char)ch+" "); } fr.close(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); system.out.println("file reader出错"); } return str.tostring(); }
方式三
/按字节读取字符串/
/* 个人感觉最好的方式,(一次读完)读字节就读字节吧,读完转码一次不就好了*/
private static string readstring3()
{
string str=""; file file=new file(file_in); try { fileinputstream in=new fileinputstream(file); // size 为字串的长度 ,这里一次性读完 int size=in.available(); byte[] buffer=new byte[size]; in.read(buffer); in.close(); str=new string(buffer,"gb2312"); } catch (ioexception e) { // todo auto-generated catch block return null; e.printstacktrace(); } return str;
}
方式四
/inputstreamreader+bufferedreader读取字符串 , inputstreamreader类是从字节流到字符流的桥梁/
/* 按行读对于要处理的格式化数据是一种读取的好方式 */ private static string readstring4() { int len=0; stringbuffer str=new stringbuffer(""); file file=new file(file_in); try { fileinputstream is=new fileinputstream(file); inputstreamreader isr= new inputstreamreader(is); bufferedreader in= new bufferedreader(isr); string line=null; while( (line=in.readline())!=null ) { if(len != 0) // 处理换行符的问题 { str.append("\r\n"+line); } else { str.append(line); } len++; } in.close(); is.close(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } return str.tostring(); }
路要一步一步走,记住自己走过的路,不再犯同样的错误,才是真正的成长!欢迎指点、交流。
以上这篇java中读取文件转换为字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。