IO家族类层次体系结构横向匹配 上一篇文章中主要介绍了JavaIO流家族的整体设计思路,简单回顾下 基本逻辑涉及数据源 流的方向,以及流的数据形式这三个部分的组合 按照流的数据形式和流的方向,组合而来了四大家族 回退) PushbackInputStream 无 PushbackReader 无 Print(打印) 无 PrintStream 无 PrintWriter 从上面的列表应该可以看得出来,对于IO体系中的主要的一些类和接口 首先,这并不是不可以, 的确是可以构造一个跟IO体系结构没关系的字节数组 来操纵类进行字节数组的读写 可是,他的行为显然跟IO非常的类似,在定义一套不同的接口显然增加开发者使用成本 再者,不管从哪里读
2、API体系 ? 、判断方法 exists():文件或文件夹是否存在; isFile():是否是一个文件,如果不存在,则始终为false; isDirectory():是否是一个目录,如果不存在,则始终是false; 6、
1)、创建socket对象 2)、建立连接后,通过输出流向服务端发送请求信息 3)、通过输入流获取服务端返回的响应信息 4)、关闭响应资源
缓冲流 6. 序列化 Serializable是个标记接口 transient修饰符修饰的属性和静态属性不会被序列化 7. 字符流 unicode是可变长度的字符编码 8.
System.out.println(stringBuilder); } } 5.当然也是有BufferedInputStream和BufferedOutputStream这两个装饰类 注意这个和前面的一模一样 6.
writeInt() 向文件写入int length() 文件长度 read() 读取文件内容 seek() 移动指针位置第几位 Code File demofile = new File("E://javaio
LineNumberReader本身并没有太多的东西,他是BufferedReader的子类
javaIO流….笔记 流向区分 应当以程序或者内存为参照物,(从文件或屏幕等)往内存中读入叫做输入流,反之输出流。
e.printStackTrace(); } } } 用FileWriter像demo.txt写入了demo这四个字符,如果用十六机制编辑器打开文件可以看到64 65 6D 6F,我们并没有在代码中指定编码方式,实际上,在我们没有指定时使用的是操作系统的默认字符编码方式来对我们要写入的字符进行编码。
功能简介 我们之前一直说流顺序的,不能随机访问,的确之前说的IO体系的确如此 但是 RandomAccessFile自成一派 此类的实例支持对随机访问文件的读取和写入 我们之前介绍过DataOutput
看得出来,如果你从来不曾回退过,那么好像什么都一样,还是使用原来的InputStream 进行读取
文章目录 一、Java NIO 介绍 二、Java NIO 核心组件 1、Buffer(缓冲区) 2、Channel(通道) 3、案例:往本地文件中写数据 4、案例:往本地文件中读数据 5、案例:文件拷贝 6、 destFc.transferFrom(sourceFc,0,sourceFc.size()); //4.关闭 fis.close(); fos.close(); } } 6、
IO流用来处理设备之间的数据传输,Java程序中,对于数据的输入/输出操作 都是以“流”的方式进行的。java.io包下提供了各种“流”类的接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。
功能简介 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式 装饰器模式中具体的装饰类 它提供的功能就是便捷的打印各种数据形式 FilterInputStre
Demo 3(FileInputStream) 4、Demo 4(FileOutputStream) 5、Demo5(FileInputStream & FileOutputStream完成文件的拷贝) 6、 Demo 6(FileReader) 7、Demo 7(FileWriter) 8、Demo 8(FileReader & FileWriter 完成对文件的拷贝) 9、Demo 9(BufferedReader e.printStackTrace(); } } } } } 输入文件中:abcd 输出文件中:abcd 6、 Demo 6(FileReader) import java.io.FileReader; import java.io.IOException; /** * java.io.FileReader
提到 IO,就要说 IO 模型,否则就像学 Java,不讲面向对象一样,是很难全面的理解它的精髓的。
也叫 同步阻塞IO , 请求数据的进程需要一直阻塞等待读取完成才能返回,同时整个读取的动作也是要同步等待I/O操作的完成才返回。
SequenceInputStream的使用比较简单,只需要传递进入两个流或者一个包含流的Enumeration即可
他与PrintStream的逻辑上功能目的是相同的--他们都想做同一件事情--更便捷的格式化打印输出
We are all worms in the sewer, but there are always people looking up at the stars.