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

IO流概述,字节流与字符流

IO流概述 大多数应用程序都需要实现与设备之间的数据传输,例如键盘可以输入数据,显示器可以显示程序的运行结果等。...在Java中,将这种通过不同输入输出设备(键盘,内存,显示器,网络等)之间的数据传输抽象的表述为“流”,程序允许通过流的方式与输入输出设备进行数据传输。...Java中的“流”都位于Java.io包中,称之为IO(输入输出)流。 IO流:即InputOutput的缩写。 输入流和输出流相对于内存设备而言。将外设中的数据读取到内存中:输入。...IO流的特点: IO流用来处理设备间的数据传输。 Java对数据的操作是通过流的方式。 Java用于操作流的对象都在IO包中。 流按操作数据分为两种:字节流和字符流。...流的三种分类方式 按流的方向分为:输入流和输出流 按流的数据单位不同分为:字节流和字符流 按流的功能不同分为:节点流和处理流 字节流是由字节组成的; 字符流是由字符组成的 Java里字符由两个字节组成

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

    什么是IO流_io流实现

    什么是IO流 先看一段百度上的解释: 当然:如果你看不懂,那么你只需要记住下面3句话. 1....(3).那么这当中的水流,便可以理解为IO流。 2. 那么JAVA中的IO流呢; (1).在java中,java就是自来水厂,水源地就是源,家就是目的 (2)....类型的需要输出数据文件地址 ); (4).创建一个缓冲区(缓冲区的创建能够提高文件的读取效率) (5).数据的读取:创建一个byte类型的数组,至于数组的长度建议为1024的倍数; (6).数据的写入 (7).流的刷新与关闭...类型的需要输出数据文件地址 ); (4).创建一个缓冲区(缓冲区的创建能够提高文件的读取效率) (5).数据的读取:创建一个byte类型的数组,至于数组的长度建议为1024的倍数; (6).数据的写入 (7).流的刷新与关闭...创建转换流对象 输 出流对象, 输出的编码 OutputStreamWriter osw = new OutputStreamWriter(os,“ISO-8859-1”); 以上就是IO流的简单介绍

    78230

    十五:IO流_什么是io流

    、IO流原理 2.2、流的分类 2.3、IO 流体系 04、节点流(或文件流) 4.1、FileReader读入数据的基本操作 4.2、FileReader中使用read(char[] cbuf)读入数据...5.1、缓冲流(字节型)实现非文本文件的复制 5.2、缓冲流与节点流读写速度对比 5.3、缓冲流(字符型)实现文本文件的复制 5.4、缓冲流课后练习 06、转换流 6.1、转换流概述与InputStreamReader...的使用 6.2、转换流实现文件的读入和写出 6.3、多种字符编码集的说明 07、标准输入、输出流 08、打印流 09、数据流 10、对象流 10.1、对象序列化机制的理解 10.2、对象流序列化与反序列化字符串操作...(默认情况下,从头覆盖) * * 4.可以通过相关的操作,实现RandomAccessFile“插入”数据的效果 */ public class RandomAccessFileTest { /**...NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的(IO是面向流的)、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。

    1.3K30

    算法与编程之 -- IO流

    编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt文件中,a.txt 文件中的单词用回车符分隔,b.txt 文件中用回车或空格进行分隔。...首先我们要想到解题思路:1.先用字符流读取到a.txt和b.txt文件,同时创建一个输出流用于输出到c.txt;2.其次你需要先循环输出a到c,但每输出一个a文本要间隔的输出一个b到c,而你又怎么知道什么时候的...废话不多说,直接上代码: package com.wenxue; import java.io.File; import java.io.FileReader; import java.io.FileWriter...有人可能觉得为啥要讲数组转来转去,其实也是可以不转的,但编写上就有些别扭,如下: package com.wenxue; import java.io.File; import java.io.FileReader...; import java.io.FileWriter; public class Main { public static void main(String[] args) throws Exception

    33620

    IO流(管道流)

    之前我们使用io流,都是需要一个中间数组,管道流可以直接输入流对接输出流,一般和多线程配合使用,当读取流中没数据时会阻塞当前的线程,对其他线程没有影响 定义一个类Read实现Runable接口,实现run...()方法,构造方法传递PipedInputStream对象 读取流里面的数据 定义一个类Write实现Runable接口,实现run()方法,构造方法传递PipedOutputStream对象 写入流里面数据...获取PipedInputStream对象,new出来 获取PipedOutputStream对象,new出来 调用PipedInputStream对象的connect()方法,对接输出流,参数:PipedOutputStream...对象 开启两个线程执行读写 import java.io.IOException; import java.io.PipedInputStream; import java.io.PipedOutputStream

    65220

    IO流

    流 不同设备之间的数据传输就是流,可以抽象理解供水厂到家庭之间的水管,水(数据)在管道传输,就成了流 根据流向分为输出流和输入流 数据从文件流向程序称为输入流 数据从程序流向文件称为输出流 根据数据类型分为字节流和字符流...字节流处理字节数据 字符流处理字符数据 按处理数据分为节点流和处理流 节点流 文件流 数组流 管道流 处理流 缓冲流 转换流 基本数据流 对象序列化流 打印控制流 IO流属于阻塞操作,一般项目中应放到子线程中...,避免阻塞主线程 其中几个常见流之间的继承关系如下 ?...各种流介绍 2.1 File 在了解各种流之前,先来看看File类 其静态字段有: Modifier and Type Field Description static String pathSeparator...,二进制不需要编码解码,比文本效率高,可移植,缺点是人们看不懂二进制内容,当读入数据到内存时,用一个字节或字节数组来存储,写出时同理,并且无论使用什么流,底层传输的都是二进制,所以字节流是一切流的基础

    41010

    IO流

    IO流 文件操作 File类 作用 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 构造方法 public File(String pathname...流 什么是IO 把与计算机之间数据的传输,可以看做是一种数据的流动,按照流动的方向 以内存为基准,分为 输入input 和 输出 output ,即流向内存是输入流,流出内存的输出流 可以理解 把程序当中的数据保存到电脑磁盘...,为输出流,把电脑磁盘当中的数据加载到程序当中为输入流 示例图 IO的分类 根据数据的流向分: 输入流 把数据从 其他设备 上读取到 内存 中的流。...Reader类 作用 java.io.Reader 抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...字符缓冲流: BufferedReader , BufferedWriter 基本原理 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组, 通过缓冲区读写,减少系统IO 次数

    23410

    io流

    编码问题 File类 RandomAccessFile 按照数据流的不同分为·:输入流和输出流 按照处理数据单位不同可以分为:字节流和字符流 1.Java中的输入输出都是以流的形式(文件读写,网络传递)...Java是双字节编码utf-16be 3.File类 java.io.File类用于表示文件(目录), File类只用于表示文件的信息(名称,大小等)不能用于文件内容的访问 第一个标识中需要介绍...6.按照处理数据单位不同可以分为:字节流和字符流 字节流和字符流的原理是相同的,只是处理的单位不同 第五点中为字节流,(处理图片是最好用字节流,防止漏读); 小技巧:后缀为Stream是字节·流,...而后缀为Reader,Writer是字符流 下面是一个字符流中读的Demo(记得要关掉流)《输入流》 下面是一个字符流中写的Demo(记得要关掉流)《输出流》 这里记得要刷新流flush...:字符流 写入数据 其他多种多样的流都是继承了它们,并进行了装饰而派生出来的加强版 (二)使用步骤: 1.创建File对象 2.创建流对象 3.操作 读 ,写 4关闭流

    3400

    Haskell Type与Typeclass

    > tip: 按照其他语言中的习惯,Int,Int,Int -> Int好像看起来更为恰当一些,但实际haskell中->只有一个作用:它标识一个函数接收一个参数并返回一个值,其中->符号左边是参数的类型...haskell中所有函数都是只接收一个参数的,所有函数都是currying的。...可以这样解读head函数的类型:head函数接收一个a类型的List参数(即任意类型的参数)返回一个a类型的返回值(参数与返回值的类型必须是一样的,都是a类型) fst函数的类型: Prelude>...注意,a 和 b 是不同的型别变量,但它们不一定非得是不同的型别,它只是标明了首项的型别与回传值的型别相同。..."True" || False True 但是执行下面的代码,就会提示错误: Prelude> read "5" *** Exception: Prelude.read: no parse 这是因为haskell

    19710

    java IO流之一 IO流介绍

    http://blog.csdn.net/a107494639/article/details/7586365 1.IO流是干什么的?      ...IO流指 的是输入输出流,用来处理设备上的数据。这里的设备指硬盘,内存,键盘录入,网络传输等。 2.IO流的分类?      ...按处理数据类型来分:字节流和字符流      按流的方向来分:输入流和输入流。      PS:初学流的时候,新手很容易搞不清什么时候用输入流,什么时候用输出流。...简单来说,当需要读数据的时候,需要使用输入流,当需要写数据的时候,需要使用输出流。我以前是这么记忆的:“读入写出”,要读的话就用输入流,要写的话,就用输出流。经常想起这4个字,慢慢就记熟下来了。...因此,只要是纯文本数据处理,优先考虑使用字符流。其他情况就使用字节流。 4.IO流类的关系(列举了其中一部分) ?

    68730

    IO流的分类_io流的作用

    IO流的分类可以分为以下三种: 第一种:输入流和输出流 按照流的流向来分,可以分为输入流和输出流。输入,输出都是从程序运行所在内存的角度来划分的。...输出流:只能向其写入数据,而不能从中读取数据。...由OutputStream和Writer作为基类 第二种:字节流和字符流 字节流和字符流的用法几乎完全一样,区别在于字节流和字符流所操作的数据单元不同。...字符流操作的数据单元是16为的字符,由Reader和Writer作为基类 第三种:节点流和处理流 按照流的角色来分,可以分为节点流和处理流。...节点流:可以从向一个特定的IO设备(如磁盘、网络)读/写数据的流。也被称为低级流。 处理流:用于对一个已存在的流进行连接或封装,通过封装后的流来实现数据读/写功能。

    53120
    领券