首页 > 开发 > Java > 正文

Java中读取文件转换为字符串的方法

2024-07-14 08:41:32
字体:
来源:转载
供稿:网友

方式一

/**

以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。

当然也是可以读字符串的。

*/

/* 貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/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中读取文件转换为字符串的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表