这是我一般读文件用的方法BufferedReader buff = new BufferedReader(
new FileReader("They don't care about us.txt"));
String s = "";
while((s = buff.readLine()) !=null){
System.out.println(s);
}这样也行:try{
BufferedReader buff = new BufferedReader(new InputStreamReader(
new FileInputStream("They don't care about us.txt")));
String s = "";
while((s = buff.readLine()) !=null){
System.out.println(s);
}
}catch(Exception e){
e.printStackTrace();
}
我是这样认为的,FileReader可以读汉字也可以读字节,而FileInputStream只能读字节我想问的是:FileReader是否可以完全取代FileInputStream,何种情况下适合用FileInputStream.
new FileReader("They don't care about us.txt"));
String s = "";
while((s = buff.readLine()) !=null){
System.out.println(s);
}这样也行:try{
BufferedReader buff = new BufferedReader(new InputStreamReader(
new FileInputStream("They don't care about us.txt")));
String s = "";
while((s = buff.readLine()) !=null){
System.out.println(s);
}
}catch(Exception e){
e.printStackTrace();
}
我是这样认为的,FileReader可以读汉字也可以读字节,而FileInputStream只能读字节我想问的是:FileReader是否可以完全取代FileInputStream,何种情况下适合用FileInputStream.
其实filereader可以自己设置按照什么编码来读.默认情况下按照unicode来读.像一般的文本中,如果既有英文也有中文,其实是按ANSI(Latin1)来编码的,就是英文部分按照单字节的asci码来编,汉字部分按双字节的unicode来编.那么在读该文本的时候,FileReader既能读字节,也能读双字节,这就是java方便的地方.一般来说,FileReader只适合读文本文件,如果读其它文件会有问题的.而FileInputStream则通吃,但显然没有FileReader读起来方便.综合,读文本类的文件(与后缀名无关,不一定是txt),用FileReader更方便.读非文本类文件一定要用FileInputStream,否则会出问题,(这个可以写代码验证).