《Java将文件中的文字显示在控制台上.docx》由会员分享,可在线阅读,更多相关《Java将文件中的文字显示在控制台上.docx(3页珍藏版)》请在三一办公上搜索。
1、Java将文件中的文字显示在控制台上java I/O中通过字符流读取文件并输出浅析 昨晚无意写了一个java读取文件并输出到控制台的代码因为操作的文件中包含汉字,所有用到了字符流InputStreamReader。但是意外的是:当我把读取的文档输出到后台后发现,输出的内容尾部多出了很多类似口口口口口口口口口口口口的无用东东。怎么回事呢?难道代码有问题? 重新查看代码如下: import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; public class Test3 public
2、 static void main(String args) try File sourceFile = new File(D:ERROR.log); FileInputStream fin = new FileInputStream(sourceFile); InputStreamReader ris = new InputStreamReader(fin); int len = (int) sourceFile.length; char aa = new charlen; while (ris.read 0) ris.read(aa); ris.close; fin.close; for
3、(int i = 0; i 0) int ss=ris.read(aa); System.out.println(ss); System.out.println(aa.length); 此时,我打印了读取的实际的字符长度和数组长度,发现:实际的读取的字符长度是,而数组长度是。原来问题出在这! 修改后完整代码如下: import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; public class Test4 public static void main(String args)
4、 try File sourceFile = new File(D:ERROR.log); FileInputStream fin = new FileInputStream(sourceFile); InputStreamReader ris = new InputStreamReader(fin); int cc; while (cc = ris.read) 0) System.out.print(char) cc); ris.close; fin.close; catch (Exception e) System.out.println(e); e.getStackTrace; 分析:请查看下文