Java常用输入字节流InputStream(2)

import java.io.IOException; import java.io.StringBufferInputStream; public class TestStringBufferInputStream { public static void main(String[] args) { // 创建输入流 StringBufferInputStream input = new StringBufferInputStream("Hello World!"); // 从输入流中读取数据 while (input.available() > 0) { int out = input.read(); System.out.print((char) out); } // 关闭输入流 try { input.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

5、缓存输入流——BufferedInputStream

BufferedInputStream为另一个输入流添加一些功能,即缓存输入功能。在创建BufferedInputStream时,会创建一个内部缓存区间数组。在读取或者跳过流中字节时,可根据需要从包含的输入流在此填充该内部缓存区,一次填充多个字节。

如���你需要一个具有缓存的文件输入流,则应当组合使用FileInputStream和BufferedInputStream,这将能提高读取效率。

下面一段代码是将文件输入流对象转换成缓存输入流的过程:

import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestBufferedInputStream { private void mian() { // TODO Auto-generated method stub try { // 创建文件输入流 FileInputStream input = new FileInputStream("D:/demo/test.txt"); BufferedInputStream buffer = new BufferedInputStream(input); // 从输入流中读取数据 while (buffer.available() > 0) { int out = buffer.read(); System.out.print((char) out); } // 关闭流 buffer.close(); input.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/227ad545cfe9a550cd36adb5c7b72662.html