Java IO 是最常用的基本功,必须扎实,初学者切记,莫要停留在能看懂程序,一定要闭着眼睛都能写出来,做到游刃有余。
我就是属于那种,认为这有什么难的,不就这样,然后再那样,然后记得close就行了嘛,还要try catch什么的……
等到离开书本自己写就犯难了,咦?那个怎么写来着?是哪个Stream来着?
凡此种种,不一而足。
下面进入正题
============================我是分割线=================================
基本的就不说了,随便一本Java的书都有。而且我相信天朝教育出来的孩子应试能力非常强,非常善于总结知识点,只要是考点,再碎再小的概念都能捕捉到。
But,真要你动手做点什么又处处犯难了,捉襟见肘,因为考试都是考几个知识点,要完成一个完整的小程序都难!
- InputStream
- OutputStream
- Reader
- Writer
上面这四个你肯定都知道,而且还洋洋得意说,我还知道输入流输出流,字节流字符流。哇塞,不错不错!还有人不服说,还有处理流,节点流呢。
看来大家的基础都很扎实了嘛,那么现在大家来写一个简单的小程序:
从文件中读取,然后打印到屏幕上。
1 import java.io.*; 2 3 public class Test { 4 public static void main(String[] args) throws IOException{ 5 File file = new File("C:\\Users\\X\\Desktop\\Test.java"); 6 InputStream input = new FileInputStream(file); 7 int hasRead = 0; 8 while((hasRead = input.read()) != -1){ 9 System.out.print((char)hasRead); 10 } 11 input.close(); 12 } 13 }
==========================初学者答疑区========================
1、别忘了import
2、如果你不知道要捕捉什么异常,直接throws
3、注意路径分隔符\\(为什么是两个反斜杠?转义字符嘛,就像\n一样,你要用\,必须要转义\\)
4、InputStream是抽象基类,不能new对象
5、read()方法返回的int,需要强转(char)
6、-1表示读到文件末尾
7、别忘了关闭流
==========================================================
--------------------------------------------------------
发现错误一定要指出来!!!不能误人子弟啊!!!
------------------------------------------------------------------------