首页
学习
活动
专区
工具
TVP
发布

javaIO

IO流 1、File类 1.1 获取文件或目录信息 1.2 操作文件 1.3 操作目录 1.4 案例:递归列出目录的下一级 1.5 案例:递归列出目录下的所有Java源文件 2、IO流的分类和设计...2.7.2 不序列化的属性 2.7.3 序列化版本ID 2.8 按行输出文本内容 2.9 Scanner类与IO流 1、File类 java.io包下有一个File类,File就是文件或文件夹。...也就是说,程序的文件和目录都可以通过File类的对象来完成,如新建、删除、重命名文件和目录等。 另外,程序不能直接通过File对象读取内容或写入数据,如果要操作数据,则必须通过IO流。...示例代码: import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class FileTest2...import java.io.FileNotFoundException; import java.io.PrintWriter; import java.util.Scanner; public class

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Java实现顺序IO

顺序IO和随机IO 对于磁盘的读写分为两种模式,顺序IO和随机IO。 随机IO存在一个寻址的过程,所以效率比较低。而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率很高。...---- Java的随机读写 在Java读写文件的方式有很多种,先总结以下3种方法: FileWriter和FileReader public static void fileWrite(String...} } catch (IOException ex) { ex.printStackTrace(); } } } Java...的顺序读写 上面的对文件的读写都是随机读写,如果用来写比较小的日志文件还能满足要求,如果用来操作一个文件的读写,那可能带来很大的性能消耗。...顺序IO的读写在中间件使用的很频繁,尤其是在队列。几乎所有的队列(kafka,qmq等使用文件存储消息)都采用了顺序IO读写。

6K41

Java IO 流分为几种?

Java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0流的40多个类都是从如下4个抽象类基类中派生出来的。...NIO (New I/O): NIO是一种同步非阻塞的I/O模型,在Java 1.4 引入了NIO框架,对应 java.nio 包,提供了 Channel , Selector,Buffer等抽象。...在 Java 7 引入了 NIO 的改进版 NIO 2,它是异步非阻塞的IO模型。...AIO 是异步IO的缩写,虽然 NIO 在网络操作,提供了非阻塞的方法,但是 NIO 的 IO 行为还是同步的。...对于 NIO 来说,我们的业务线程是在 IO 操作准备好时,得到通知,接着就由这个线程自行进行 IO 操作,IO操作本身是同步的。

1.4K10

JAVAIO模型-BIO

微信公众号:码上就有 公众号的文章名称:JAVA的I/O模型-多路复用 背景   在日常的IO模型,我们应该听过BIO、NIO以及AIO。...克隆一个子进程将任务派发(这里与系统有关,在之前版本是直接在当前进程操作,不会进行clone)。...我们继续跟到对应子进程的文件: 1 set_robust_list(0x7f2e346439e0, 24) = 0 2 gettid()...总结    当我选择BIO去做业务的时候,则需要考虑他能带来什么样的好处以及弊端,有利于帮助我们选择合适的一个网络IO模型。那么他的优势以及弊端各是什么呢?...优势: 代码编写简单 弊端: 线程内存浪费(开辟线程) cpu调度消耗(主线程克隆子进程,recvfrom为用户态程序调用内核系统进行等待数据接收) 下一节我们再讲解接下来的几种IO模型,让大家能够很好的体会到为什么需要不断的进行迭代升级

44220

Java的集合与IO

BIO与NIO的区别 BIO指的是同步阻塞式IO 在此方式下,用户进行在发起一个IO操作时,必须等待该IO操作结束,用户进程才会结束 NIO指的是异步非阻塞式IO NIO采用了双向通道进行数据传输,可以在通道上注册事件...传统IO基于字节流与字符流进行操作;NIO则是基于Channel与Buffer进行操作。数据总是从Channel通道读取到Buffer缓冲区,或者从Buffer缓冲区写入到Channel通道。...Java的流 按照流的方向: 输入流 输出流 按照实现功能: 节点流 处理流 按照处理数据的单位: 字节流 字符流 ---- 20....为什么有了字节流还要有字符流 字符流是由Java虚拟机将字节转换得到的,而这个过程非常耗时,同时如果编码类型未知就会出现乱码问题,因此IO流就提供了一个直接操作字符的接口 ---- 22....什么是Java序列化?如何实现Java序列化? 序列化: 是一种用来处理对象流的机制,而所谓的对象流就是将对象的内容进行流化,可以对流化后的对象进行对写操作,也可将流化后的对象传输于网路之间。

1.2K20

Java NIO之JavaIO分类

前言  前面两篇文章(Java NIO之理解I/O模型(一)、Java NIO之理解I/O模型(二))介绍了,IO的机制,以及几种IO模型的内容,还有涉及到的设计模式。...这次要写一些更贴近实际一些的内容了,终于要说到了Java的各种IO了。我也是边学边理解,有写的不对的地方,欢迎小伙伴们指出和补充。...JavaIO分类 BIO BIO是指 Blocking IO 在JDK1.0的时候就引入了,直到JDK1.4一直都是Java唯一的IO方式。...具体的例子我就不举了(毕竟BIO不是本次的重点)。...Channel(通道) Channel可以理解为,互通的管道,和JavaIO的各种Stream(InputStream、OutputStream等等)一个等级,只不过Channel是双向的,而Stream

48320

javaio流知识总结_javaio流开发用的多吗

Properties ---- 引言 通过前面的简单学习,我们已经能够大致了解了关于文件的操作,但是能够明显感受到在执行其他的操作的时候,还是会有一些不方便的地方存在,因此今天我们会学习另外四个IO...=-1){ bos.write(buffer,0,len); bos.flush(); 通过字节缓冲流实现将一个文件的内容复制在另一个文件之中。...= new InputStreamReader(is); InputStreamReader isr = new InputStreamReader(is,"GBK"); 在以上代码,...序列化和反序列化 对象序列化 对象字节输出流,ObjectOutputStream 作用:以内存为基准,把内存的对象存储到磁盘文件中去,称为对象序列化 构造器 说明 public...ObjectOutputStream(OutputStream os) 把低级字节输出流包装成高级的对象字节输出流 首先是简单的创建了一个学生类Student,需要注意的是Java规定对象序列化的时候

78920

Java IO 的分类、使用场景、缓冲流、使用例子、文件拷贝

Java,是通过流 处理IO的,这种处理模式称为 IO流,IO流是一种顺序读写数据的模式。 你可以想象它是一根水管,数据就像水一样, 起点—终点 可互相流动。 ?...Writer 这四个都是抽象类,都位于 java.io 包目录。...Java使用IO 读取文件时,会进入核心态,在调用驱动进行IO,本身就会缓存在系统级别的,当你第二次读取时,会由用户态进入核心态,读取系统缓存。...在计算机层面,Java对磁盘进行操作,IO是有缓存的,并不是真正意义上的一边读一边写,底层的落盘(数据真正写到磁盘)另有方法。...总结一下: JavaIO有一个 缓冲区 的概念,不是Buffer概念的缓冲区。

1.3K51

javaIO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂。...delAllFile(folderPath); // 删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File...myFilePath = new java.io.File(filePath); myFilePath.delete(); // 删除空文件夹 } catch (Exception e) {...; osw.close(); } /** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件添加内容...osw.close(); } /** * 添加内容到指定文件 如果该文件不存在,则创建并添加内容 如果该文件已存在,则添加内容到已有内容最后 * flag为true,则向现有文件添加内容

78730

详解 Java 4 种 IO 模型

来源:ncoding.com/2018/04/02/java/io.html 整编:Java技术栈(公众号ID:javastack) 同步、异步、阻塞、非阻塞都是和I/O(输入输出)有关的概念,最简单的文件读取就是...本篇会先介绍一下I/O的基本概念,通过一个生活例子来分别解释下这几种I/O模型,以及Java支持的I/O模型。...下面我以一个生活烧开水的例子来形象解释一下同步、异步、阻塞、非阻塞概念。 同步和异步 说到烧水,我们都是通过热水壶来烧水的。...更详细的分析可参考 聊聊Linux5种IO模型 Java四种I/O模型 上一章所述Unix的五种I/O模型,除信号驱动I/O外,Java对其它四种I/O模型都有所支持。...Java传统IO模型即是同步阻塞I/O NIO是同步非阻塞I/O 通过NIO实现的Reactor模式即是I/O多路复用模型的实现 通过AIO实现的Proactor模式即是异步I/O模型的实现

56920

不学无数 — Java IO 和 NIO

I :就是从 硬盘 将内容读取到 内存  O :就是从 内存 将内容读取到 硬盘  Java的I/O操作类在包 java.io 下面,大概将近有80多个类,但是这些类可以分为三组 基于字节操作的I...而这也是java的I/O类库存在Filter(过滤器)类的原因所在,Filter作为所有装饰类的基类。...提高速度 DataInputStream允许应用程序以与机器无关方式从底层输入流读取基本 Java 数据类型 举个简单使用过滤器进行读取一个文件的内容并输出,例子如下: publicstaticvoidmain...下面就举个创建 FileChannel 的例子。...FileChannelin=newFileInputStream("fileName").getChannel();复制代码 NIO的使用 我会举一个简单的例子来演示如何使用NIO对文件进行复制的操作。

31010

JavaIO流知识总结

java.io.InputStream 区别 java.io.Reader 和 java.io.InputStream 组成了 Java 输入类。...在 Java ,有不同类型的 Reader 输入流对应于不同的数据源: FileReader 用于从文件输入; CharArrayReader 用于从程序的字符数组输入; StringReader...相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。 1、Java技术支持两种数据类型的流 InputStream和OutputStream:字节流。...6、 对象串行化 java.io.Serializable接口支持将一个Java技术对象存放到一个流。 将一个对象存放到某种类型的永久存储器上称为”保持”。...java.io.Serializable接口没有任何方法,它只作为一个”标记”,用来表明实现了这个接口的类可以串行化。 类没有实现Serializable接口的对象不能被保持。

62910

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券