国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Java > 正文

Java中讀取文件轉(zhuǎn)換為字符串的方法

2024-07-14 08:41:32
字體:
供稿:網(wǎng)友

方式一

/**

以字節(jié)為單位讀取文件,常用于讀二進制文件,如圖片、聲音、影像等文件。

當然也是可以讀字符串的。

*/

/* 貌似是說網(wǎng)絡環(huán)境中比較復雜,每次傳過來的字符是定長的,用這種方式?*/public String readString1(){ try {  //FileInputStream 用于讀取諸如圖像數(shù)據(jù)之類的原始字節(jié)流。要讀取字符流,請考慮使用 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.   // 當流關閉以后內(nèi)容依然存在  }  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();}

方式三

/按字節(jié)讀取字符串/

/* 個人感覺最好的方式,(一次讀完)讀字節(jié)就讀字節(jié)吧,讀完轉(zhuǎn)碼一次不就好了*/

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類是從字節(jié)流到字符流的橋梁/

/* 按行讀對于要處理的格式化數(shù)據(jù)是一種讀取的好方式 */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中讀取文件轉(zhuǎn)換為字符串的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平邑县| 城固县| 新田县| 大埔县| 兰西县| 乌鲁木齐市| 昆明市| 淮滨县| 潮州市| 黑水县| 桃源县| 威信县| 应城市| 玛曲县| 承德市| 迁安市| 柘城县| 建德市| 隆昌县| 田东县| 阳朔县| 鹿邑县| 庆城县| 永春县| 石台县| 新巴尔虎左旗| 商丘市| 正阳县| 图木舒克市| 吉水县| 营口市| 庆云县| 通山县| 桃江县| 桃源县| 沁阳市| 大同县| 敦化市| 济阳县| 信阳市| 丹江口市|