面了很多的人 ,许多人对流这个东西 还是没有抓住重点,java的流最应该学习的就是到底怎么用流。
这是我面试的场景
问:java中用什么来判断是使用输出流量还是输入流量来实现一段功能?
答1:不知道
答2:读用输入,写用输出
答3:从磁盘到内存是输入,从内存到磁盘是输出
解析:上面的回答看似对的,但又好像缺少了什么 , 输出输入主要看是从程序的外部进入程序,还是从程序输出到外部,准确的说是以运行态的程序而言的,值得一提的是 读流 和写流只是输入和输出流的一个子类罢了。
有了输出输入流的概念后,无非就是 字节流量 和 字符流, 字节流 直白点就是按位操作的,中间不进行任何编码,字符流会有对二进制位的编码,因此会产生乱码。如果拷贝数据最好用字节流这样就不会出现不一致和乱码的问题了。