io流

java 中 IO 流分为几种?

只谈情不闲聊 提交于 2020-01-20 20:10:41
IO流分为几种? 通过这个框架我们有一定的认识,还需要进行深层次的反问? IO流是用来做什么的?它的分类?常用的有哪几种? Java中的IO流 指的是将不同的输入输出源通过流的形式进行输入或输出的操作,流是一种抽象的描述,在程序中指的是数据的一种转移方式。 IO流的分类: (1)按照数据的流向: 输入流、输出流 (2)按照流数据的格式: 字符流、字节流 (3)按照流数据的包装过程: 节点流(低级流)、处理流(高级流) 最基本的几种进行简单介绍: •InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。 •OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。 来源: CSDN 作者: weixin_38263179 链接: https://blog.csdn.net/weixin_38263179/article/details/104039925

Java基础 -IO流

我是研究僧i 提交于 2020-01-19 19:43:55
IO流 什么是IO:就是将数据的传输看做是一种数据的流动 按照流动的方向 以内存为基准 分为 输入 input 和 输出 output 即流向内存是输入流 流出内存的输出流 Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作 输入也叫做读取数据 输出也叫做作写出数据 IO的分类:不同的分类标准有不同种的分类 根据 数据的流向 分为:输入流和输出流 输入流 :把数据从 其他设备 上读取到 内存 中的流 输出流 :把数据从 内存 中写出到 其他设备 上的流 根据 数据的类型 分为:字节流和字符流 字节流 :以 字节 为单位,读写数据的流 字符流 :以 字符 为单位,读写数据的流 字节流 java.io.OutputStream 抽象类 是表示字节输出流的所有类的超类 将指定的字节信息写出到目的地 定义了字节输出流的基本共性功能方法: (这五种方法都常用) public void close() :关闭此输出流并释放与此流相关联的任何系统资源 当完成流的操作时 必须调用此方法 释放系统资源 public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出 public void write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流 public void write(byte[] b, int off,

io流

旧城冷巷雨未停 提交于 2020-01-19 00:07:27
io流 一般来说,它的作用是传输数据,做输入和输出的操作,拷贝文件啊,上传和下载啊,通过建立管道实现文件的传输 这里重点说一下流的分类 流的概念:一串流动的数据,以先入先出的方式,必须存在以建立在管道的条件下 流的分类 按流向分:1.输入流 2. 输出流 文件(数据源)->输入流->程序(目的地)程序->输出->文件 按照操作数据单元分: 字节流:万能流,能够传输任意类型的数据 字符流:纯文本 按功能分: 节点流:真实用来传输数据,数据从数据源到目的地 功能流:扩展节点流的功能 这里说一下重点-字节流 读入:可以这么来说这是以程序为中心 数据源->读入->程序 InputStream (抽象父类):重点:这里都是字节输入流,数据类型为字节 fileInputStream:文件字节输入流,从系统文件中读入数据到程序 构造器: 1.FileInputStream(String name) 内部会先构建File对象,然后调用下面结构File对象的构造器 2.new FileInputStream(File) 方法: read():返回值int,读到的字节数据,如果没有数据返回-1 read(byte[]):一个字节数组一个字节数组读入,返回读到数组中的数据个数,如果没有读到,返回-1 一定要注意java字符串中表示路径可以使用\或者/,使用当个/表示转义字符 一般数据的数入

IO操作(3):装饰流(字节缓冲流BufferedInput/OutputStream)

筅森魡賤 提交于 2020-01-18 13:50:22
装饰流 IO流按功能可分为节点流和处理流(装饰流),装饰流是在节点流基础上进行操作可以提高IO流的性能。 如果不需要装饰流则需要对硬盘重复操作,性能不高,BufferedInputStream可以相当于设置一个缓冲区先将要读取的内容放在一辆车上统一进行存取(默认内容为8k) (FilterInputStream为装饰流) 代码举例 BufferedInputStream public class DecorateBufferInput { public static void main(String[] args) throws IOException { //1、创建源 File src = new File("abc.txt"); //2、选择流 InputStream is = null; BufferedInputStream bis = null; try { is = new FileInputStream(src); bis = new BufferedInputStream(is); //设置缓冲数组默认为8K //上面的可以直接改写为下面一行 //is = new BufferedInputStream(new FileInputStream(src)); //3、操作分段读取 byte[] flush = new byte[1024]; int len = -1

java高级之文件IO流

你离开我真会死。 提交于 2020-01-17 16:37:03
1.文件IO 外存 内存 缓存 打开txt文件的步骤: 1.启动一个应用程序[记事本,word,excel],系统会给这个程序分配内存空间 2.在外存和内存之间建立一个管道 3.将外存中的数据通过管道输送到内存中 4.输送数据的管道叫做数据流对象 PS: 1.字节是可以操作的最小的有意义的单位 2.所有的数据都可以用字节表示 2.字节输入流 InputStream:所有字节输入流的抽象父类 FileInputStream 文件输入流 ByteArrayInputStream 字节数组输入流 ObjectInputStream 对象输入流 FilterInputStream 过滤输入流 BufferedInputStream 缓冲字节输入流 DataInputStream 基本数据类型输入流 FileInputStream 文件字节输入流 构造方法 FileInputStream(File f,String name) FileInputStream(String parent,String name) FileInputStream(String name) 常用方法: int len = available() 获得流中的估计剩余字节数 int t = read(); 读取流中的字节,如果是-1,说明读取到文件末尾 返回值表示读取到的字节数,如果为-1,表示到流的末尾 skip

IO流

北城以北 提交于 2020-01-17 13:32:45
一、概念介绍 1、什么是IO流? I: InputStream,输入,读取,从硬盘到内存,读进来 O: Output,输出,写入,从内存到硬盘,写出去 2、IO流的分类 (1)按照流的方向: 输入流:字节输入流/字符输入流 输出流:字节输出流/字符输出流 (2)按照流中的内容 字节流:计算机中的一切都是字节,可以一次操作一个/多个字节,可以操作任意类型的文件。 字符流:只能操作纯文本文件,用记事本打开,可以看得懂的文件。 (PS:.java、.txt、.html、.css 是纯文本文件;.doc、.xls不是纯文本文件) 3、文件的续写与换行 (1)文件的续写 构造方法: FileOutputStream(File path, boolean append) FileOutputStream(String path, boolean append) 其中, 参数一:String/File类型的文件路径; 参数二:boolean append(true就是追加写入,继续写;false就是重新写,覆盖写。不写默认为false)。 (2)换行 \r\n 适用于Windows系统,每行结尾是“回车+换行”; \n 适用于Unix系统里,每行结尾只有“换行”; \r 适用于Mac系统,每行结尾是“回车”,即 “\r” 。从 Mac OS X 开始与Linux统一。 二、IO流 1、字节流 1

java IO缓冲流: BufferedInputStream BufferedOutputStream

℡╲_俬逩灬. 提交于 2020-01-16 05:48:50
概述: 缓冲流主要为了增强基础流的效率而存在,不用缓冲流的话,程序是读一个数据,写一个数据,大量占用了CPU,(本来CPU可以一次多处理内容的)处理这样在数据量大的程序中非常影响效率。缓冲流作用是把数据先写入缓冲区,等缓冲区满了,再把数据写到文件里。这样效率就大大提高了。 缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流: BufferedInputStream,BufferedOutputStream 字符缓冲流: BufferedReader,BufferedWriter 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率。 用法 创建缓冲流 // 创建字节缓冲输入流 BufferedInputStream bis = new BufferedInputStream ( new FileInputStream ( "bis.txt" ) ) ; // 创建字节缓冲输出流 BufferedOutputStream bos = new BufferedOutputStream ( new FileOutputStream ( "bos.txt" ) ) ; 写入 bos . writer ( "Demo" ) ; bos . newLine (

java IO转换流:InputStreamReader,OutputStreamWriter

好久不见. 提交于 2020-01-16 04:28:38
概述 字符编码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制 数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码 。反之,将存储在计算机中的二进制数按照 某种规则解析显示出来,称为解码 。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本f符 号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。 文件一定是以字节的形式保存在计算机中的。。 程序写入文件的过程,反之亦然 InputStreamReader类 概念 转换流 java.io.InputStreamReader ,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。 构造方法 InputStreamReader(InputStream in) : 创建一个使用默认字符集的字符流。 InputStreamReader(InputStream in, String charsetName) : 创建一个指定字符集的字符流。 由于本地的文件有可能是不同字符集的,所以读出的时候有可能出现乱码,如下实例,程序读取一个GBK字符集的文本,程序默认以UTF-8解码,所以无法输出真确结果 public class Demo { public

JAVA IO流资料翻译

天涯浪子 提交于 2020-01-15 20:52:06
原文链接 原文: Byte Streams Programs use byte streams to perform input and output of 8-bit bytes. All byte stream classes are descended from InputStream and OutputStream. There are many byte stream classes. To demonstrate how byte streams work, we’ll focus on the file I/O byte streams, FileInputStream and FileOutputStream. Other kinds of byte streams are used in much the same way; they differ mainly in the way they are constructed. Using Byte Streams We’ll explore FileInputStream and FileOutputStream by examining an example program named CopyBytes, which uses byte streams to copy xanadu.txt, one

J2SE(4)之IO流(字节流)

妖精的绣舞 提交于 2020-01-12 07:51:28
1、IO流的基本概念和原理 1.1 什么是流 流 : 流动 、流向 从一端移动到另一端 源头与目的地, 程序 与 文件 | 数组 | 网络连接 | 数据库 进行数据交换,都是以流进行的 ,以程序为中心 1.2 IO流分类 1 、根据流向分 : 输入流与输出流 2 、根据数据分: 字节流 : 二进制,可以表示一切文件 , 包括 : 纯文本 、doc、 音频、视频等等 字符流: 文本文件,只能处理纯文本。 3、根据功能分: 节点流:包裹源头,比如:FileInputStream 处理流:增强功能,提升性能,比如:BufferedInputStream 1.3 IO流的相关接口及主要方法 1、字节流 流 接口 方法 实现类 输入流 InputStream read(byte[] b) 、 read(byte[] b, int off, int len) 、close() FileInputStream 输出流 OutputStream write(byte[] b) 、 write(byte[] b, int off, int len) 、flush() 、close() FileOutputStream 2、字符流 流 接口 方法 实现类 输入流 Reader read(char[] cbuf)、 read(char[] cbuf, int off, int len) 、close()