java学习笔记 IO学习笔记2 IO流-字节流

发布时间:2016-12-6 22:15:46 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"java学习笔记 IO学习笔记2 IO流-字节流",主要涉及到java学习笔记 IO学习笔记2 IO流-字节流方面的内容,对于java学习笔记 IO学习笔记2 IO流-字节流感兴趣的同学可以参考一下。

IO流从功能上可以分为:输入流和输出流。 从结构上可以分为:1)字节流:使用接口InputStream和OutputStream                                     2)字符流:使用接口Reader和Writer 。 字符流,底层也是字节流来是实现。 读数据流的逻辑:open a stream ->while more information -> read information ->close information 写数据流的逻辑:open a stream ->while more information -> write information ->close information 一般输入输出的写法: import java.io.File; import java.io.FileInputStream; import java.io.InputStream; public class IOStreamTest { public static void main(String[] args) throws Exception { InputStream is = new FileInputStream(new File("c:" +File.separator+"Test.txt")); byte[] buffer = new byte[2048]; int length = 0; // 当读出的数据长度为-1时候,表示数据已经读完了 while(-1!=(length= is.read(buffer, 0, buffer.length))){ String str = new String(buffer,0,length); // 打印出每一行数据 System.out.print(str); } // 关闭输入流 is.close(); } }输出文件: OutputStream os = new FileOutputStream(new File("hello.txt")); String str = "this is hello world!!"; byte[] buffer1 = str.getBytes(); os.write(buffer1); os.close(); 字节流内分为 节点流和过滤流 节点流:是从特定的地方读取写入的流类,都直接实现了inputStream 和 outputStream 过滤流:是使用节点流作为输入输出的流类。常用的是以FilterInputStream和FilterOutputStram为父类的。而两者也是继承自inputStream 和 outputStream 也就是说过滤流无法直接与输入输出打交道,他只能通过包装节点流,对输入输出进行相关操作。 输入---节点流---过滤流--过滤流--节点流-输出 这里就用到java中的另外一种设计模式。装饰模式(Decorator)将在下一篇介绍,可以通过动态的方式扩展对象的功能。 例如: // 用BufferedOutputStream包转节点流FileOutputStream BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("hello world.txt")); bos.write("hello world!!".getBytes()); bos.write("123456789!".getBytes()); // 流关闭前,数据不会写入文件中 bos.close();

上一篇:
下一篇:Android rom定制相关

相关文章

相关评论