如何從sdcard讀取文件

首先,咱們必須明白文件儲存格式是有許多種的,如utf-8,unicode等。緩存

那麼,咱們如何將文件原封不動的讀取出來呢,咱們能夠設定,文件儲存的絕對路徑爲filepath。則代碼以下:code

file=new File(filepath);utf-8

FileInputStream in=new FileInputStream(file);unicode

BufferedInputStream buf=new BufferedInputStream(in);file

buf.mark(4);//設定緩存空間數數據

byte []f3b=new byte[3];文件

buf.read(f3b);co

buf.reset();//數據讀取重開始字符

if(f3b[0]==(byte)0xEF && f3b[1]==(byte)0xBB && f3b[2]==(byte)0xBF){
      reader=new BufferedReader(new InputStreamReader(buf,"utf-8"));
     }else if(f3b[0]==(byte)0xFF && f3b[1]==(byte)0xFE){
      reader=new BufferedReader(new InputStreamReader(buf,"unicode"));
     }else if(f3b[0]==(byte)0xFE && f3b[1]==(byte)0xFF){
      reader=new BufferedReader(new InputStreamReader(buf,"utf-16be"));
     }else if(f3b[0]==(byte)0xFF && f3b[1]==(byte)0xFF){
      reader=new BufferedReader(new InputStreamReader(buf,"utf-16le"));
     }else{
      reader=new BufferedReader(new InputStreamReader(buf,"GBK"));
     }new

reader.read(buf);

String text = null;

for(int i=0;i<buf.length;i++){

 if(buf[i]!=13 && buf[i]!=10){//取消換行字符

text+=buf[i];

}

}

代碼就是這些,但願能幫助你!

相關文章
相關標籤/搜索