IO框架图: Java 的 I/O 操作类在包 java.io 下,大概有将近 80 个类,但是这些类大概可以分成四组,分别是: 基于字节操作的 I/O 接口:InputStream 和 OutputStream...(字符输出流):表示文本文件(Windows 自带的记事本软件打开能看懂内容的文件) Java的常用输入、输出流 java.io包中的stream类根据它们操作对象的类型是字符还是字节可分为两大类:...; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream...; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; public...; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter
https://blog.csdn.net/suifeng3051/article/details/48344587 一、java io 概述 1.1 相关概念 Java IO Java IO即Java...在JDK1.4之后,为了提高Java IO的效率,Java又提供了一套新的IO,Java New IO简称Java NIO。它在标准java代码中提供了高速的面向块的IO操作。...本篇文章重点介绍Java IO,关于Java NIO请参考我的另两篇文章: Java NIO详解(一) Java NIO详解(二) 流 在Java IO中,流是一个核心的概念。...2.1 Java IO的类型 虽然java IO类库庞大,但总体来说其框架还是很清楚的。...各类用途汇总如下: 文件访问 网络访问 内存缓存访问 线程内部通信(管道) 缓冲 过滤 解析 读写文本 (Readers / Writers) 读写基本类型数据 (long, int etc.)
(字节流转字符流),他们是字符流的一对常用实现类,是一对高级流 实际开发中我们在读写文本数据时,它们是流连接中重要的一环 但是我们不会直接操 Java提供了这样一对转换流 OutputStreamWriter...: 是字符流通向字节流的桥梁 InputStreamReader: 从字节流到字符流的桥梁 使用转换输出流写文本信息 package io; import java.io.FileOutputStream...package io; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader...字符缓冲流和缓冲加速(字符打印)流 java.io.BufferedWriter java.io.BufferedReader 以上两个就是缓冲字符输入与输出流是一对高级流,内部有缓冲区,读写文本数据效率高...; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter
IO流 第一部分 (OutputStreamWriter BufferOutputStream) 转换流 超类为Reader和Writer 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节...BufferedReader bfr = new BufferedReader(new FileReader("c:\\a.txt")); //调用缓冲流的方法 readLine()读取文本行...//循环读取文本行, 结束条件 readLine()返回null String line = null;...System.out.println(lineNumber+" "+line); } bfr.close(); 通过字符流缓冲区流复制文本文件...BufferedWriter bfw = new BufferedWriter(new FileWriter("d:\\w.log")); //读取文本行
基于字节的java.io.printSteam支持方便的打印方法,如print()和println(),用于打印原语和文本字符串。...示例 PrintStreamDemo package com.xgj.master.java.io.fileDemo.characterStreams; import java.io.FileNotFoundException...; import java.io.IOException; import java.io.PrintStream; import org.junit.Test; /** * * * @ClassName...pFile.close(); } } } } PrintWriterDemo package com.xgj.master.java.io.fileDemo.characterStreams...; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import org.junit.Test
IO流 第一部分 (outputStream/InputStream Writer/Redaer) IO流对象中输入和输出是相辅相成的,输出什么,就可以输入什么....IO的命名方式为前半部分能干什么,后半部分是父类的名字....(FileOutputStream 文件输出流) java->JVM->OS 流对象使用的基本步骤 创建流的子类对象,绑定数据目的地(文件路径) 使用write方法写或read方法读 close()方法关闭流对象...RuntimeException("释放资源失败"); } } } 字符流(主要用来读文本文件
1 IO流的分类 1.1 按数据流的方向:输入流、输出流 此输入、输出是相对于我们写的代码程序而言。 输入流:从别的地方(本地文件,网络上的资源等)获取资源输入到我们的程序中。...字节流用来处理二进制文件(图片、MP3、视频文件),字符流用来处理文本文件(可以看做是特殊的二进制文件,使用了某种编码,人可以阅读)。简而言之,字节是个计算机看的,字符才是给人看的。...处理流的构造方法总是要带一个其他的流对象做参数,一个流对象经过其他流的多次包装, 2 四大抽象类 IO所谓的四大抽象类就是:InputStream、OutputStream、Reader、Writer。
字符流(16 bit) 流向不同:输入流,输出流 流的角色不同:节点流,处理流 抽象基类 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer java...中涉及到的io流基本都是从以上四个抽象基类派生出来的,其子类都是以其父类的名字做后缀。...br.close(); isr.close(); } } 八、打印流 PrintStream:字节打印流 PrintWriter:字符打印流 格式化输出 在JDK1.5之后,JAVA.../** * 用于把想要保存的信息保存到文本中 可以打印任何的数据类型,例如:小数、整数、字符串等等 * @author Wannengqingnian */ public class TestPrintStream
下面是使用Java I/O类需要注意的地方 InputStream和OutputStream是所有字节流的超类,read()和write()是基本方法,读写处理的都是字节。
IO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流还有很多以后有时间在整理。...1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。...2.IO流的分类 图示:(主要IO流) 3.字节流 (1).字节流基类 1).InputStream InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。...,提高了操作效率,IO流使用完毕一定要关闭。...返回此流使用的字符编码的名称 String getEncoding() (3).字符缓冲流(高效流) 1).BufferedReader BufferedReader:字符缓冲流,从字符输入流中读取文本
前言 友友们大家好,我是你们的小王同学 今天给大家带来的是 希望能给大家带来有用的知识 小王的主页:小王同学 小王的gitee:小王同学 小王的github:小王同学 JAVA IO...原理 I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理数据传输,如读/写文件,网络通讯 Java程序中,对于数据的输入/输出操作以"流(stream)"的方式进行。...java.io包下提供了各种"流"类和接口,用以获取不同的种类的数据,通过方法输入或输出数据 输入input:读取外部数据(磁盘 光盘等存储设备的数据)到程序(内存)中 输出output:将程序(内存...按数据流的流向不同的:输入流 输出流 按流的角色不同分为:节点流,处理流\包装流 抽象基类 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer Java...的 io流共涉及40多个类,实际上非常规则,都是从如上4个抽象基类派生的。
但是实际上很多数据是文本,所以提出字符流的概念,采用unicode编码 两者之间通过inputStreamReader与outputStreamWriter来关联,实际上是通过byte[]与String...字节输入流:InputStream,字节输出流:OutputStream 字符输入流:Reader,字符输出流:Writer .解释一下java.io.Serializable接口(面试常考) 类通过实现...Java.io.Serializable 接口以启用其序列化功能。...PrintStream类的输出功能非常强大,通常如果需要输出文本内容,都应该将输出流包装成PrintStream后进行输出。...Java对象的序列化指将一个java对象写入OI流中,与此对应的是,对象的反序列化则从IO流中恢复该java对象。
java的io在jdk1.1以后添加了字符流的支持,为我们直接操作字符流提供了方便。...Java提供了针对不同情况的处理流的类,以便于我们直观地进行数据操作,这些类就在java的io包之中。下面介绍java io包的类,整个io包大量应用了装饰模式。...java io 转化流的适配器模式 我们知道在字符流处理类加入java io类库之前,所有的类都是面向字节流的,在jdk1.1以后,添加了字符流的支持,根据“开闭原则”,所以在不改变原有类的基础上,有了转化流...package javaS.IO; +import java.io.File; /** * 基于磁盘IO操作的类 java.io.File * * 可以表示文件,也可以表示文件夹目录 * *...private void readObject(java.io.ObjectInputStream s) throws java.io.IOException,
也可以认为是文件的一种身份标识,通过标识,区分出唯一的一个文件 表示路径的两种风格 绝对路径,从盘符开始,一直到文件名结束(D:\My Computer\02 Stricky\02 Code\03 IDEA\Gitee\java_code...就是有一个“基准路径”或“工作路径”,如果基准目录不同,对应的相对路径也是不同的 比如,此时正在 D:\My Computer\02 Stricky\02 Code\03 IDEA\Gitee\java_code...(操作系统版本,第三方库,配置文件,其他目录文件,硬件设备…) 四、文件类型 文本文件(.txt/.c/.java) 当前文件里存储的所有内容都是“文本”(合法的字符) 虽然叫做文本文件,本质上内部存的还是二进制...针对文本文件来说,其实 Java 已经进行了很多的内置处理。...虽然文本文件底层仍然是二进制存储,Jav 啊把文本文件取出来的时候,自动查询码表,把二进制内容一个个转换成字符。而二进制文件则没有上述的转换过程
IO流主要用于硬板、内存、键盘等处理设备上得数据操作 一.IO流分类 java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能,可以从不同角度对其分类: 1.按数据流的方向不同分为...结论:只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。 节点流和处理流的主要区别: 节点流:可以从或向一个特定的数据源(节点)读写数据。...二、IO流的四大抽象类: java.io包中所有流类型都分别继承自以下四种抽象流类型: ? 常用流结构图 ?...需要序列化的类必须实现Serializable接口 主要方法:writeObject(Object); readObject(); 读出为Object类型需要强转数据类型 1 import java.io...oos.flush(); 11 oos.close(); 12 13 FileInputStream fis = new FileInputStream("d:/share/java
InputStream和OutputStream两个抽象类构成了读写IO体系的框架基础。...字节流虽然可以操作任何的数据形式,但是对于占用多个字节的字符却不是很方便,需要知道,所以在JAVA中有专门提供了对于字符流的两个抽象类Reader和Writer 分类: IO流按照操作对象:字节流和字符流...字符流 字符流主要对于处理文本内容的读写十分的方便,按照字符的输入和输出和字节流操作上没有区别,但是在读取和写入时的操作单位不再是byte。 ?
IOException e) { e.printStackTrace(); } } } 我们在e盘找到了 a.txt文本...IOException e) { e.printStackTrace(); } } } 也没有报异常 接下来打开e盘里的a.txt.文本看
最近有个账单加解密的需求,正好用到 IO 流,借此机会复习一下这方面的知识,巩固记忆。.../tobetopjavaer/#/basics/java-basic/byte-stream-vs-character-stream 一、IO 的分类 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输...,上传文件和下载文件,Java用于操作流的对象都在IO包中。...InputStream InputStream 是一个定义了 Java 流式字节输入模式的抽象类。该类的所有方法在出错条件下引发一个IOException 异常。...Reader Reader 是 Java 定义的流式字符输入模式的抽象类。类中的方法在出错时引发 IOException 异常。
java IO流 文件 文件就是保存数据的地方。...流原理和分类 java程序中,对于数据的输入/输出操作是以“流”的方式进行 在java.io包下提供各种接口 按操作数据单位不同分为:字节流(8bit)二进制文件,字符流(按字符)文本文件 按数据流的流向不同分为...; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;...; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; public...IO流插图3 package IOStream.opp7; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter
Java IO是Java语言支持输入输出的API,Java IO主要关注文件,网络流,内部存储器缓冲区等的输入和输出。...但是,Java IO不包括网络通信套接字的类,这些类在java network包中,不过,可以使用InputStream和OutputStream读取Socket的输入和输出数据流。...Java还包含Java NIO的IO API。 Java NIO可以在非阻塞模式下工作。 在某些情况下,非阻塞IO可以比阻塞IO提供更大的性能提升。...IO的本质是数据流,应用可以从流中读取数据,或者写数据到流中,Java IO中的流可以基于字节,也可以基于字符。 ?...Reader是Java IO API中所有基于字符输入操作的基类。 Reader与InputStream类似,只不过,Reader用于读取文本,而InputStream用于读取原始字节。
领取专属 10元无门槛券
手把手带您无忧上云