import java.io.*;
public class TestBufferStream2 {
public static void main(String[] args) {
try {
BufferedReader bw = new BufferedReader(new FileReader("f:\\dat2.txt"));
// BufferedReader br = new BufferedReader(
// new FileReader("d:\\share\\java\\dat2.txt"));
int b=0;
while((b=bw.read())!=-1)
{ System.out.print((char) b);
}
bw.close();
} catch (IOException e) { e.printStackTrace();}
}
}
显示文件读取成功
但是我换一个方式实现,虽然实现了但是显示的不对为什么谢谢!!!另一种方式如下:
import java.io.*;
public class TestBufferStream2 {
public static void main(String[] args) {
try {
BufferedReader bw = new BufferedReader(new FileReader("f:\\dat2.txt"));
// BufferedReader br = new BufferedReader(
// new FileReader("d:\\share\\java\\dat2.txt"));
while((bw.read())!=-1)
{ System.out.print((char) bw.read());
}
bw.close();
} catch (IOException e) { e.printStackTrace();}
}
}第一个是文件的正常显示。第二个为错误的显示,如下
erdfgdfaef
fefafaw
gegag
gagagawg
gawgawga
fcawefawrve
F:\>javac TestBufferStream2.javaF:\>java TestBufferStream2
rfdaf
ggg
aaag
agwa
cwfwv?
public class TestBufferStream2 {
public static void main(String[] args) {
try {
BufferedReader bw = new BufferedReader(new FileReader("f:\\dat2.txt"));
// BufferedReader br = new BufferedReader(
// new FileReader("d:\\share\\java\\dat2.txt"));
int b=0;
while((b=bw.read())!=-1)
{ System.out.print((char) b);
}
bw.close();
} catch (IOException e) { e.printStackTrace();}
}
}
显示文件读取成功
但是我换一个方式实现,虽然实现了但是显示的不对为什么谢谢!!!另一种方式如下:
import java.io.*;
public class TestBufferStream2 {
public static void main(String[] args) {
try {
BufferedReader bw = new BufferedReader(new FileReader("f:\\dat2.txt"));
// BufferedReader br = new BufferedReader(
// new FileReader("d:\\share\\java\\dat2.txt"));
while((bw.read())!=-1)
{ System.out.print((char) bw.read());
}
bw.close();
} catch (IOException e) { e.printStackTrace();}
}
}第一个是文件的正常显示。第二个为错误的显示,如下
erdfgdfaef
fefafaw
gegag
gagagawg
gawgawga
fcawefawrve
F:\>javac TestBufferStream2.javaF:\>java TestBufferStream2
rfdaf
ggg
aaag
agwa
cwfwv?
{ System.out.print((char) bw.read());
}
每调一次read就读取一个字节,你在while中的read从来没有使用,但字节被读取掉了
import java.io.*;public class TestBufferStream2 {
public static void main(String[] args) {
try {
BufferedReader bw = new BufferedReader(new FileReader(
"f:\\dat2.txt"));
String str = bw.readLine();
while (str != null) {
System.out.println(str);
str = bw.readLine();
}
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}楼主试试这个!希望对你有帮助!