io流

浅谈 JAVA中的IO流

帅比萌擦擦* 提交于 2019-11-27 03:38:29
流的分类 java.io包中的类对应两类流,一类流直接从指定的位置(如磁盘文件或内存区域)读或写,这类流称为结点流(node stream),其它的流则称为过滤器(filters)。过滤器输入流往往是以其它输入流作为它的输入源,经过过滤或处理后再以新的输入流的形式提供给用户,过滤器输出流的原理也类似。 Java的常用输入、输出流 java.io包中的stream类根据它们操作对象的类型是字符还是字节可分为两大类: 字符流和字节流。 Java的字节流 InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先。 Java的字符流 Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先。 结合开始所说的输入/输出流 ,出现了个一小框架。 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer JAVA字节流 FileInputStream和FileOutputStream 这两个类属于结点流,第一个类的源端和第二个类的目的端都是磁盘文件,它们的构造方法允许通过文件的路径名来构造相应的流。如: FileInputStream infile = new FileInputStream("myfile.dat"); FileOutputStream outfile = new

java之IO流处理

我是研究僧i 提交于 2019-11-27 03:31:59
文章列表 IO流处理 流的分类: 装饰者模式: JDK APIIO流的体系框架: File类 InputStream 抽象类 FileIntputStream类: OutputStream类: FileWriter: InputStreamReader类: OutputStreamWriter类 字节缓冲流: 序列化和反序列化: ObjectOutputStream 写入类 StringBuffer: 面试题:String,StringBuffer,StringBuilder区别: IO流处理 文件的读写操作处理 in/out 文件: 文件时具有永久存储及特定顺序的字节组成的一个有序的,具有名称的集合 流的分类: 按照方向分类:输入流和输出流 输入流:是从文件或磁盘等存储介质读取到程序中 输出流:从程序输出到存储介质或显示设备上 按照读写的单位来分类:字节流和字符流 字节流:每次读写一个字节,以字节为单位进行流处理操作 字符流:每次读写一个字符,以字符为单位进行读写处理的操作 数据源: 文件,视频,声音,文章 网络数据流 装饰者模式: 作用:就是在原理功能的基础上进行一个功能的进一步的扩展 对底层修改是关闭的,对扩展是开放的 JDK APIIO流的体系框架: 字节流: InputStream --FileInputStream --FilterInputStream -

IO流详解

浪子不回头ぞ 提交于 2019-11-27 03:15:58
IO流详解 一.IO流分类 二.使用各种输入输出流对文件进行复制 1.字节流 1.1 FileInputStream和FileOutputStream 1.2BufferedOutputStream和 BufferedInputStream 1.3printStream 2.字符流 2.1OutputStreamWrite和 InputStreamReader 2.1.1编码和解码 2.1.2OutputStreamWrite和 InputStreamReader示列 2.2BufferedReader和BufferedWriter 2.3FileReader和FileWriter 2.4PrintWriter 三.各输入输出流速度比较 在Java中,将这种通过不同输入输出设备(键盘没存,显示器,网络等)之间的数据传输抽象表示为“流”,程序允许通过流的方式与输入输出设备进行数据传输。Java中的“流”都位于java.io包中,称为(输入输出)流。 一.IO流分类 二.使用各种输入输出流对文件进行复制 1.字节流 1.1 FileInputStream和FileOutputStream FileInputStream:字节读取流,用字节流读取文件。 FileOutputStream:字节写入流,用字节流写入文件。 代码如下

Java高效输入输出流讲解

主宰稳场 提交于 2019-11-27 02:26:30
Java高效输入输出流讲解 Java中执行输出和输入操作,需要通过IO流。例如最常见的System.out.println()就是一个输出流。IO流的类比较多,但核心体系就是由File、 InputStream 、OutputStream、Reader、Writer和Serializable(接口)组成的。 I/O流基础概念 按照流的方向分为输入流(InputStream)与输出流(OuputStream): 输入流:只能读取数据,不能写入数据。 输出流:只能写入数据,不能读取数据。 因为程序是运行在内存中,以内存角度来理解输入输出概念,如下: 可以看到输入与输出是一个相对概念,数据写入文件,对于程序来说是输出流,对文件来说是输入流。但一般是以程序作为中心,所以从程序写入数据到其他位置,则是输出流,将数据读入程序中则是输入流。 简单的说就是:读取数据就是输入流,写入数据就是输出流。 按照处理的数据单位分为字节流和字符流 字节流:操作的数据单元是8位的字节。InputStream、OutputStream作为抽象基类。 字符流:操作的数据单元是字符。以Writer、Reader作为抽象基类。 字节流可以处理所有数据文件,若处理的是纯文本数据,建议使用字符流。 IO流中的三类数据源 基于磁盘文件:FileInputStream、FileOutputSteam、FileReader

IO流

给你一囗甜甜゛ 提交于 2019-11-27 00:48:04
File file = new File("e:\\a.txt"); 主要分类为 :增 、删、查、判断 增: 1. file.CreatNewFile(); 创建文件 2. file.mkdir();创建一级目录 3. file.mkdirs();创建多级目录 删: 1. file.delete();删除文件,如果删除文件夹必须里面是空的 2. file.deleteOnExit(); 关闭虚拟机时强制删除 查: file.getAbsoloteFile(); 获取当前文件 file.getAbsolotePath(); 获取文件名字符串 file.getParentFile(); 获取父文件 file.getParent(); 获取父文件路径字符串 file.getName(); 获取名字 等等........................................... 判断: 是否可读 是否可写 是否可以执行 是否是文件 是否是绝对路径 是否是隐藏 等等.......... System.out.println("--------过滤list----------"); String[] list2=mydir.list(new FilenameFilter() { @Override public boolean accept(File dir, String

java学习计划

北战南征 提交于 2019-11-26 17:46:46
源于传智播客毕向东老师的教学计划: day01-01-基本常识 day01-02-Java的跨平台性 day01-03-Java环境搭建(安装) day01-04-Java环境搭建(环境变量配置) day01-05-Java环境搭建(环境变量配置技巧) day01-06-Java环境搭建(环境变量临时配置方式) day01-07-Hello.World day01-08-classpath配置 day01-09-Hello.World的组成部分 day01-10-注释 day02-01-标识符 day02-02-常量 day02-03-进制的特点 day02-04-进制转换(十进制和二进制) day02-05-进制转换(八进制和十六进制) day02-06-进制转换(负数二进制) day02-07-变量 day02-08-类型转换 day02-09-算术运算符 day02-10-转义字符 day02-11-赋值和比较运算符 day02-12-逻辑运算符 day02-13-位运算符(左移右移) day02-14-位运算符(与-或-异或) day02-15-位运算符(练习) day02-16-位运算符(练习2&三元运算符) day02-17-语句(if) day02-18-语句(if练习) day02-19-语句(Switch) day02-20-语句(Switch练习) day03

Java学习:IO流

核能气质少年 提交于 2019-11-26 17:02:05
IO流 1.IO流 用于处理设备上的数据 。 设备:硬盘,内存,键盘录入。 2. IO有具体的分类: 根据处理的数据类型不同:字节流和字符流。 根据流向不同:输入流和输出流。 字符流的由来: 因为文件编码的不同,而有了对字符进行高效操作的字符流对象。 原理: 其实就是基于字节流读取字节时,去查了指定的码表。 字节流和字符流的区别: (1) 字节流读取的时候,读到一个字节就返回一个字节。 字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时,先去查指定的编码表,将查到的字符返回。 (2) 字节流可以处理所有类型数据,如MP3,图片,avi。而字符流只能处理字符数据。 结论:只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都要用字节流。 IO的体系,所具备的基本功能就有两个: 读和写。 字节流:InputStream(读),OutputStream(写)。 字符流:Reader(读),Writer(写)。 来源: https://www.cnblogs.com/cainiao-chuanqi/p/11327934.html

Java IO流

吃可爱长大的小学妹 提交于 2019-11-26 16:46:30
一、BIO(同步、阻塞) 1、概述 IO流简单来说就是input和output流,IO流主要是用来处理设备之间的数据传输,Java IO对于数据的操作都是通过流实现的,而java用于操作流的对象都在IO包中。 2、分类 按操作数据分为:字节流(Reader、Writer)和字符流(InputStream、OutputStream) 按流向分:输入流(Reader、InputStream)和输出流(Writer、OutputStream) 3、字符流 概述 只用来处理文本数据 数据最常见的表现形式是文件,字符流用来操作文件的子类一般是FileReader和FileWriter 字符流读写文件注意事项: 写入文件必须要用flush()刷新 用完流记得要关闭流 使用流对象要抛出IO异常 定义文件路径时,可以用"/"或者"\" 在创建一个文件时,如果目录下有同名文件将被覆盖 在读取文件时,必须保证该文件已存在,否则抛出异常 字符流的缓冲区 缓冲区的出现是为了提高流的操作效率而出现的 需要被提高效率的流作为参数传递给缓冲区的构造函数 在缓冲区中封装了一个数组,存入数据后一次取出 4、字节流 概述 用来处理媒体数据 字节流读写文件注意事项: 字节流和字符流的基本操作是相同的,但是想要操作媒体流就需要用到字节流 字节流因为操作的是字节,所以可以用来操作媒体文件(媒体文件也是以字节存储的) 输入流

18 IO流(十五)——RandomAccessFile随机访问文件及使用它进行大文件切割的方法

早过忘川 提交于 2019-11-26 15:18:06
本文部分内容转自: https://blog.csdn.net/nightcurtis/article/details/51384126 1.RandomAccessFile特点 RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可以读取文件内容,也可以向文件中写入内容。但是和其他输入/输入流不同的是,程序可以直接跳到文件的任意位置来读写数据。 因为RandomAccessFile可以自由访问文件的任意位置,所以如果我们希望只访问文件的部分内容,那就可以使用RandomAccessFile类。 与OutputStearm,Writer等输出流不同的是,RandomAccessFile类允许自由定位文件记录指针,所以RandomAccessFile可以不从文件开始的地方进行输出,所以RandomAccessFile可以向已存在的文件后追加内容。则应该使用RandomAccessFile。 2.RandomAccessFile的整体介绍    RandomAccessFile类包含了一个记录指针,用以标识当前读写处的位置,当程序新创建一个RandomAccessFile对象时,该对象的文件记录指针位于文件头(也就是0处),当读/写了n个字节后,文件记录指针将会向后移动n个字节。除此之外,RandomAccessFile可以自由的移动记录指针

回顾IO流

谁说我不能喝 提交于 2019-11-26 03:59:54
目录 IO流 IO流简介 FileInputStream FileOutputStream 缓冲区思想 BufferedInputStream flush()方法 close()方法 IO流 IO流简介 IO流: Java对数据的操作是通过流的方式,IO流就是处理设备之间的数据传输。 输入流 InputStream(读取数据) 输出流 OutStream(写数据) 字节流 可以操作任何数据 字符流 只能操作字符数据 FileInputStream 文件输入流FileInputStream用于读取文件的原始字节流。 构造方法: FileInputStream(File file) FileInputStream(String name) 方法: Int read() 读取一个字节 FileInputStreamDemo1.java * import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class FileInputStreamDemo1 { public static void main(String[] args) throws IOException { //创建文件输入流对象 FileInputStream fis1 = new