首先,我们必须明白文件储存格式是有许多种的,如utf-8,unicode等。
那么,我们如何将文件原封不动的读取出来呢,我们可以设定,文件储存的绝对路径为filepath。则代码如下:
file=new File(filepath);
FileInputStream in=new FileInputStream(file);
BufferedInputStream buf=new BufferedInputStream(in);
buf.mark(4);//设定缓存空间数
byte []f3b=new byte[3];
buf.read(f3b);
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"));
}
reader.read(buf);
String text = null;
for(int i=0;i<buf.length;i++){
if(buf[i]!=13 && buf[i]!=10){//取消换行字符
text+=buf[i];
}
}
代码就是这些,希望能帮助你!