javaIO流….笔记 流向区分 应当以程序或者内存为参照物,(从文件或屏幕等)往内存中读入叫做输入流,反之输出流。...数据类型区分 字节流和字符流,现有的字节流,后来为了方便文本数据操作,才有的字符流,java中一个字符占两个字节。 一般是默认按照数据类型分类的,不是流向。...FileOutputStream & FileInputStream 向文件写入数据 //创建字节输出流对象,分三步,注意try catch包裹 //创建字节输出流对象 FileOutputStream...");//fos就像一条水管连接到文件上 //写数据 fos.write("hello,IO".getBytes());//调用write,数据就像水流顺着水管到文件中 //释放资源 //关闭文件输出流并释放与此流有关的资源...字符缓冲流读写字符串 //最为推荐的一种方式 // 字符缓冲流一次读写一个字符串 private static void method5(String srcString, String destString
概述 java流的概念 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。...即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。...字符流的工作方式是: 输出字符流:把要写入文件的字符序列(实际上是Unicode码元序列)转为指定编码方式下的字节序列,然后再写入到文件中 输入字符流:把要读取的字节序列按指定编码方式解码为相应字符序列...缓冲流是处理流的一种, 它依赖于原始的输入输出流, 它令输入输出流具有1个缓冲区, 显著减少与外部设备的IO次数, 而且提供一些额外的方法。...可见, 缓冲流最大的特点就是具有1个缓冲区,而我们使用缓冲流无非两个目的: 减少IO次数(提升performance) 使用一些缓冲流的额外的方法。
pointer = 0 写方法: raf.write(int)--->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入 读方法: int b = raf.read()--->读一个字节 注意关闭流...writeInt() 向文件写入int length() 文件长度 read() 读取文件内容 seek() 移动指针位置第几位 Code File demofile = new File("E://javaio
同步指的是必须等待 IO 缓冲区内的数据就绪,而非阻塞指的是,用户线程不原地等待 IO 缓冲区,可以先做一些其他操作,但是要定时轮询检查 IO 缓冲区数据是否就绪。...这两种方法均为异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入 read 方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将 write 方法传递的流写入完毕时,操作系统主动通知应用程序
java.io 包下需要掌握的流有 16 个,本篇内容包括:java.io包下需要掌握的流、Java IO 案例。...Properties属性类使用) 16、Demo 16(File) ---- 一、java.io包下需要掌握的流 java.io 包下需要掌握的流有 16 个: # 文件专属: java.io.FileInputStream...java.io.BufferedOutputStream # 数据流专属: java.io.DataInputStream java.io.DataOutputStream # 标准输出流: java.io.PrintWriter...,内部被传进来的流叫做 节点流 //外部负责包装的流叫做 包装流 //也就是说此时,FileReader是节点流,BufferedReader是包装流...Java I/O流 Java 666 123 文件中: Java I/O流 Java 666 999 15、Demo 15(I/O流联合Properties属性类使用) import
~ 本篇内容包括:关于 IO 流、关于 Java IO 流、Java IO 层次体系结构 ---- 文章目录 一、关于 IO 流 1、IO 流的作用 2、IO 流的介绍 二、关于 Java IO...流 1、关于 Java 文件IO 2、输入输出流 3、缓冲流 4、Reader 和 Writer 三、Java IO 层次体系结构 ---- 一、关于 IO 流 1、IO 流的作用 在接触 IO 流前,...既然计算机和外界进行信息的输入和输出交互,用的是比特流,那么很容易就能想到 IO 流名字的由来了。就是比喻输入输出的数据像流一样。...我们可以这么认为,任何外部设备与内存之间输入输出的操作,都是需要输入输出流(IO流)来完成的,这里的 IO 流,指的就是比特流(或者称字节流。...靠什么来进行数据交换,就是前面说的,比特流,或者说 IO 流类。
3.按照角色进行划分 节点流:可以直接从/向外部设备读取/写入数据的流,称之为节点流,节点流也被称之为低级流。...处理流内部包含了节点流,节点流决定了与其沟通的外部设备,而处理流则增加了其功能。...作用:可以在循环当中把所有的数据存放到统一的容器当中,然后在循环结束之后可以把容器当中所有的内容一起取出来。...* * 2.如果类在不同的版本之间不希望兼容,但是还希望类的对象能够序列,那么就在不同版本中 * 使用不同的序列化id。...并返回布尔值 createTemFile():在默认临时文件目录当中创建一个空文件,程序运行结束后就不存在了。 mkdirs():创建目录,如果你写的目录的父目录不存在。他会帮你创建好。
同步指的是必须等待 IO 缓冲区内的数据就绪,而非阻塞指的是,用户线程不原地等待 IO 缓冲区,可以先做一些其他操作,但是要定时轮询检查 IO 缓冲区数据是否就绪。...同步指的是必须等待 IO 缓冲区内的数据就绪,而非阻塞指的是,用户线程不原地等待 IO 缓冲区,可以先做一些其他操作,但是要定时轮询检查 IO 缓冲区数据是否就绪。...2、Channel(通道) Java NIO 的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的(input 或 output)读写通常是单向的。...Java IO 的各种流是阻塞的 IO 操作。这就意味着,当一个线程执行读或写 IO 操作时,该线程会被阻塞,直到有一些数据被读取,或者数据完全写入。...void main(String[] args) throws IOException { String str = "HELLO,NIO,我是我"; // 创建输出流
JavaIO流File类 File类常用操作 $ exists()常用于判断文件或目录是否存在 $ delete() 删除文件/文件夹。 $ separator 设置分隔符。...$ list() 用于列出当前目录的子目录不包含子目录下的内容 $ mkdir() 用于创建文件夹 $ 递归 $ public static void file3(File dir){ $
用于读取字符流的抽象类。...主要的方法 void close() 关闭该流并释放与之关联的所有资源。 String getEncoding() 返回此流使用的字符编码的名称。 int read() 读取单个字符。...这个缓冲流也继承了Reader类,基本上也提供了父类有的read()等方法,另外还有readline()方法。...Writerextends Objectimplements Appendable, Closeable, Flushable 写入字符流的抽象类。...常用的方法 void close() 关闭此流,但要先刷新它。 void flush() 刷新该流的缓冲。 String getEncoding() 返回此流使用的字符编码的名称。
* * 功能1:客户端发送一个消息,服务端接口一个消息,通信结束!! * * 创建客户端对象: * (1)创建一个 Socket 的通信管道,请求与服务端的端口连接。...* (2)从 Socket 管道中得到一个字节输出流。...Socket socket = new Socket("127.0.0.1",8888); // (2)从Socket通信管道中得到一个字节输出流。...写数据给服务端 OutputStream os = socket.getOutputStream() ; // 3.把输出流包装成一个打印流...1、请求与服务端的Socket链接 Socket socket = new Socket("127.0.0.1", 8888); // 2、把字节输出流包装成一个数据输出流
unicode编码(双字节编码)文件是byte byte byte ...的数据序列文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果 字符流(...Reader Writer)—->操作的是文本文本文件 123456 字符的处理,一次处理一个字符字符的底层任然是基本的字节序列字符流的基本实现 InputStreamReader 完成byte...流解析为char流,按照编码解析 OutputStreamWriter 提供char流到byte流,按照编码处理 FileReader/FileWriter 字符流的过滤器 123456789101112131415161718192021...E:\\VSC.dat"))); bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\javaio...int c; char[] chars = new char[1024]; try { fr = new FileReader("e://javaio
javaIO流 IO引入 字节流和字符流(一些说明) 字节流没有用到缓冲区并不是没有用到内存 为什么输入流是读数据,而输出流是写数据?...字节流说明 字节输入流读数据的方法 字节缓冲输入流 字节输出流写数据的方法 字节缓冲输出流 用输入输出实现数据的复制 复制单级文件夹(文件夹中只含有文件,不包含其它文文件夹) 复制多级文件夹(文件夹中包含文件夹...该方法阻塞直到输入数据可用,检测到文件结束或抛出异常。 如果len为零,则不会读取字节并返回0 ; 否则,尝试读取至少一个字节。...该方法的默认实现将阻塞,直到所请求的输入数据len已被读取,文件结束被检测到或异常被抛出为止。 鼓励子类提供更有效的方法实现。...复制单级文件夹(文件夹中只含有文件,不包含其它文文件夹) 使用字节流来进行复制 这样的单级文件夹得话,复制的时候主要还是需要对文件夹下面的文件进行一个遍历。
IO流分为输入流、输出流 输入输出流 又分为字节流、字符流 字节流 InputStream:抽象了应用程序读取数据的方式 OutputStream:抽象了应用程序写 出数据的方式 EOF = End...out.write(int b) //写出一个byte到流,b的低8位 out.write(byte[] buf) //将buf字节数组都写到流 out.write(byte[] buf, int start...,int size) //字节数组buf从start位置开始写size长度的字节到流 FileInputStream 具体实现了在文件上读取数据 FileInputStream 实现了向文件写出byte...> 使用原生缓冲的流 > 不使用缓冲的流1 2 3 4//计算时延 long start=System.currentTimeMillis(); long end=System.currentTimeMillis...最后关闭IO流和文件流应该在finally中关闭,否则IO异常时执行不到close语句,IO流仍然没有关闭。 |:----|:----|
前言 今天需要使用JavaIO写一个简单的练习,现在将这个练习记录一下,防止日后忘记IO流相关语法。 相关知识 新增文件,并且向文件中写入数据,通过字符输出流,向文件中新增内容。...通过FileOutputStream fos = new FileOutputStream("number.txt")创建需要执行文件输出流的对象。...然后BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos))使用BufferedWriter使用缓冲输出流。...); BufferedReader br = new BufferedReader(new InputStreamReader(fis))){ //字符流将文件中的第一行读取...; } catch (Exception e) { e.printStackTrace(); } //接下来开始通过字符流读取文件中的内容
Java从入门到精通十一(javaIO流) IO引入 字节流和字符流(一些说明) 字节流没有用到缓冲区并不是没有用到内存 为什么输入流是读数据,而输出流是写数据?...字节流说 字节输入流读数据的方法 字节缓冲输入流 字节输出流写数据的方法 字节缓冲输出流 用输入输出实现数据的复制 复制单级文件夹(文件夹中只含有文件,不包含其它文文件夹) 复制多级文件夹(文件夹中包含文件夹...该方法阻塞直到输入数据可用,检测到文件结束或抛出异常。 如果len为零,则不会读取字节并返回0 ; 否则,尝试读取至少一个字节。...该方法的默认实现将阻塞,直到所请求的输入数据len已被读取,文件结束被检测到或异常被抛出为止。 鼓励子类提供更有效的方法实现。...复制单级文件夹(文件夹中只含有文件,不包含其它文文件夹) 使用字节流来进行复制 这样的单级文件夹得话,复制的时候主要还是需要对文件夹下面的文件进行一个遍历。
缓冲流 缓冲流: 缓冲流 ①字节缓冲流 1)BufferedInputStream —— 字节缓冲输入流 2)BufferedOutputStream —— 字节缓冲输出流 ②字符缓冲流 1...,速度快) 字符流自带缓冲区,缓冲流对字符流效率提升不明显,但字符缓冲流对字符流的主要意义在于:readLine() 和 newLine() 字符缓冲输入流 特有方法: public String...作用:当字节流想要使用字符流中的方法时,可使用转换流。 ---- 8. 序列化流 / 反序列化流 序列化流(对象操作输出流): 作用:可以将Java对象写入到本地文件中。...打印流 打印流: 打印流 字节打印流PrintStream 字符打印流PrintWriter 字节打印流-PrintStream 构造方法(获取字节打印流对象): public...,不操作数据源,故而只能作为输出流。
一、IO流分类 1、分类角度 流的方向 输入流:从数据源中读取数据到应用中的流; 输出流:从应用中将数据写入到目的地的流; 流数据类型 字节流:以字节形式来读写的流,标识是名称以Stream结尾; 字符流...:以字符形式来读写的流,标识是名称以Writer、Reader结尾; 管道流:以数据块为单位来处理,缓冲区就是用于读写的数据块; 流的角色 节点流:可以从一个节点或者向一个节点读/写数据的流,也被称为低级流...; 处理流:对存在的流进行连接或者封装、封装后的流来进行读/写、也被称为高级流。...Writer:字符输出流,所有字符输出流提供一个标准,基本写入的方法和简单的实现; OutputStreamWriter:字节输出转换流,用于将字节输出流转化成字符输出流。...isFile():是否是一个文件,如果不存在,则始终为false; isDirectory():是否是一个目录,如果不存在,则始终是false; 6、获取文件信息 getName():获取文件或文件夹名称,不包含上级路径
BufferedWriter类可以将文本写入字符输出流,将字符串、字符数组和文本文件的内容写入输出流中。...使用BufferedWriter可以提高字符输出的效率和性能,因为它能够减少直接写入输出流的次数,从而减少了IO操作的次数,提高了程序的运行效率。...close():关闭流并释放资源。应用场景案例 BufferedWriter类常用于对大量数据进行写入的场景,例如将数据写入文本文件或者日志文件。...写入数据时需要手动调用flush()方法或关闭流才能确保数据被写入文件中。...close()public void close() throws IOException关闭流并释放资源。
IO流 java 中 IO 流分为几种? 按照流的流向分,可以分为输入流和输出流; 按照操作单元划分,可以划分为字节流和字符流; 按照流的角色划分为节点流和处理流。...Java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0流的40多个类都是从如下4个抽象类基类中派生出来的。...OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。
领取专属 10元无门槛券
手把手带您无忧上云