IO家族类层次体系结构横向匹配 上一篇文章中主要介绍了JavaIO流家族的整体设计思路,简单回顾下 基本逻辑涉及数据源 流的方向,以及流的数据形式这三个部分的组合 按照流的数据形式和流的方向,组合而来了四大家族 回退) PushbackInputStream 无 PushbackReader 无 Print(打印) 无 PrintStream 无 PrintWriter 从上面的列表应该可以看得出来,对于IO体系中的主要的一些类和接口 首先,这并不是不可以, 的确是可以构造一个跟IO体系结构没关系的字节数组 来操纵类进行字节数组的读写 可是,他的行为显然跟IO非常的类似,在定义一套不同的接口显然增加开发者使用成本 再者,不管从哪里读
2、API体系 ? 5个核心类:File、OutputStream、InputStream、Writer、Reader; 1关键接口:Serializable; 二、API细节分类 1、字节输入流 ? mkdirs():在指定位置创建目录,这会创建路径中所有不存在的目录; 4、删除文件 delete() 删除文件或者一个空的文件夹,如果文件夹且不为空,则不能删除,成功返回true,失败返回false; 5、
bufferedReader = new BufferedReader(inputStreamReader); String string = bufferedReader.readLine(); //5、 1)、创建ServerSocket对象, 绑定监听端口 2)、通过accept() 方法监听客户端请求 3)、连接建立后,通过输入流读取客户端发送的请求信息 4)、通过输出流向客户端发送信息 5) ; printWriter.flush(); //5、关闭资源 printWriter.close(); outputStream.close
stringBuilder.append((char)bys); } System.out.println(stringBuilder); } } 5.
str = "sadkl快乐了看看了\r\ndsfdsas放到"; fileOutputStream.write(str.getBytes()); fileOutputStream.close(); 5.
javaIO流….笔记 流向区分 应当以程序或者内存为参照物,(从文件或屏幕等)往内存中读入叫做输入流,反之输出流。 throws IOException { FileInputStream fis = new FileInputStream("fis.txt"); byte[] bys = new byte[5] GB18030:GBK的取代版本 BIG-5码 :通行于台湾、香港地区的一个繁体字编码方案,俗称“大五码”。 Unicode:国际标准码,融合了多种文字。 00000800-0000FFFF的字符用3字节表示 IO流小结 字符缓冲流读写字符串 //最为推荐的一种方式 // 字符缓冲流一次读写一个字符串 private static void method5(
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
LineNumberReader本身并没有太多的东西,他是BufferedReader的子类
writeInt() 向文件写入int length() 文件长度 read() 读取文件内容 seek() 移动指针位置第几位 Code File demofile = new File("E://javaio
功能简介 我们之前一直说流顺序的,不能随机访问,的确之前说的IO体系的确如此 但是 RandomAccessFile自成一派 此类的实例支持对随机访问文件的读取和写入 我们之前介绍过DataOutput
看得出来,如果你从来不曾回退过,那么好像什么都一样,还是使用原来的InputStream 进行读取
IO流用来处理设备之间的数据传输,Java程序中,对于数据的输入/输出操作 都是以“流”的方式进行的。java.io包下提供了各种“流”类的接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。
功能简介 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式 装饰器模式中具体的装饰类 它提供的功能就是便捷的打印各种数据形式 FilterInputStre
---- 文章目录 一、Java IO 与 IO 模型 1、IO 与 IO 模型的关系 2、IO 的流程 二、五种 IO 模型 1、同步阻塞 2、非阻塞 3、多路复用 IO 4、信号驱动 5、异步IO 5、异步IO 在以上的四种 IO 操作中,无论第一个阶段是如何进行优化的,在第二阶段都需要陷入内核态来拷贝数据。 异步 IO 就是为了解决这个问题。
Demo 1(FileInputStream) 2、Demo 2(FileInputStream) 3、Demo 3(FileInputStream) 4、Demo 4(FileOutputStream) 5、 Demo5(FileInputStream & FileOutputStream完成文件的拷贝) 6、Demo 6(FileReader) 7、Demo 7(FileWriter) 8、Demo 8(FileReader e.printStackTrace(); } } } } } 文件中:abcd 5、 Demo5(FileInputStream & FileOutputStream完成文件的拷贝) import java.io.FileInputStream; import java.io.FileOutputStream
---- 文章目录 一、Java NIO 介绍 二、Java NIO 核心组件 1、Buffer(缓冲区) 2、Channel(通道) 3、案例:往本地文件中写数据 4、案例:往本地文件中读数据 5、案例 从通道里读取数据并存到缓冲区中 fc.read(buffer); System.out.println(new String(buffer.array())); // 5. 关闭 fis.close(); } } 5、案例:文件拷贝 import java.io.FileInputStream; import java.io.FileOutputStream
也叫 同步阻塞IO , 请求数据的进程需要一直阻塞等待读取完成才能返回,同时整个读取的动作也是要同步等待I/O操作的完成才返回。
PushBackReader 与 PushBackInputStream实现的原理是一样的
流的操作步骤: 文件字节输入流读取文件内容的步骤: * 1.创建流对象 * 2.创建一个缓存字节的容器数组 * 3.定义一个变量,保存实际读取的字节数 * 4.循环读取数据 * 5. 循环读取数据 // while (true) { // hasRead = fis.read(buf); // if (hasRead==-1) { // break; // } //// 5. } } 文件字节输出流写入文件内容的步骤: * 1.选择流:创建流对象 * 2.准备数据源,把数据源转换成字节数组类型 * 3.通过流向文件当中写入数据 * 4.刷新流 * 5. =null) { // 5.关闭流 try { fos.close(); } catch (IOException isFile() :判断file对象是否表示文件 isHidden() :判断file对象是否是隐藏文件 5.获取file对象属性信息的方法: getAbsoluteFile() :返回此抽象路径名的绝对路径名形式
SequenceInputStream的使用比较简单,只需要传递进入两个流或者一个包含流的Enumeration即可