字节流

File类以及IO流

帅比萌擦擦* 提交于 2020-02-28 05:35:05
1、File类 package LESSON12; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; public class demo1 { /** * Windows中文件或者目录的表示D:\test\1.txt Java中文件或者目录的表示D:\\test\\1.txt,或者D:/test/1.txt */ public static void main(String[] args) { //File:表示磁盘上的文件或者目录 File f1=new File("E:/aa/a/a.txt"); //File f=new File("E:\\aa\\a/a.txt");//这样写也行 File f2=new File("E:\\aa\\a\\a.txt"); File f3=new File("E:/aa/a","a.txt"); File f4=new File("E:\\aa\\a","a.txt"); File f5=new File("E:/aa/a"); File f6=new File(f5,"a.txt"); System.out.println(f1.getName());//获取文件对象名

IO流(四) --- 特殊操作流

送分小仙女□ 提交于 2020-02-23 01:09:13
IO流中特殊操作流 概述: IO流中的特殊操作流,顾名思义就是有其特殊的作用; 标准输入输出流 概述: 标准输入输出流它们的作用是用于从键盘录入和打印输出;即我们通常使用的 Scanner类 和 System.out.println() ,那我们为什么要去学习它呢?只是为了了解Scanner和输出语句的底层结构; 引入: System类中有两个静态成员变量: public static final InputStream in; : 标准输入流。通常用于键盘录入; public static final PrintStream out; :标准输出流。通常用于打印输出; 标准输入流(InputStream) 概述: 其与Scanner类似,都是用来接收用户的输入; 代码示例一: public class Demo01 { public static void main ( String [ ] args ) throws IOException { // 创建输入流 InputStream in = System . in ; // 具体操作 int len ; while ( ( len = in . read ( ) ) != - 1 ) { System . out . print ( ( char ) len ) ; } } } // 注意:这种方式,该流是关闭不了的

Java基础之字节流与字符流

天大地大妈咪最大 提交于 2020-02-20 12:45:11
IO的分类 根据数据的流向分为: 输入流 和 输出流 。 输入流 :把数据从 其他设备 上读取到 内存 中的流。 输出流 :把数据从 内存 中写出到 其他设备 上的流。 格局数据的类型分为: 字节流 和 字符流 。 字节流 :以字节为单位,读写数据的流。 字符流 :以字符为单位,读写数据的流。 IO的流向说明图解 顶级父类们 输入流 输出流 字节流 字节输入流 InputStream 字节输出流 OutputStream 字符流 字符输入流 Reader 字符输出流 Writer 字节输出流【OutputStream】 java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法。 public void close() :关闭此输出流并释放与此流相关联的任何系统资源。 public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。 public void write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流。 public void write(byte[] b, int off, int len) :从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。 public abstract void write(int b)

JavaSE学习笔记-Day18~19

£可爱£侵袭症+ 提交于 2020-02-20 04:45:39
学校的网课陆陆续续在准备阶段了,所以自己的学习就得先放在一边,学有余力的时候才能宠幸一下,唉,太快了… 这两天学完IO流的相关类。 InputStream/OutputStream(字节流)和Reader/writer(字符流)类是所有IO流类的抽象父类,我们有必要简单了解一下。 一. InputStream和FileInputStream InputSteam是一个抽象类,它不可以实例化,它是表示字节输入流的所有类的超类。 继承自InputSteam的流都是用于向程序中输入数据( 读 ),且数据的单位为字节(英文Byte,简写为B)。 常用方法: FileInputStream通过 字节的方式 读取文件,适合读取所有类型的文件(图像、视频、文本文件等)。FileInputStream的常用方法和InputStream中一模一样,具体实现代码就不了解了,水平不够。 测试一下: package cn . zjb . test ; import java . io . FileInputStream ; import java . io . IOException ; /** * 测试文件输入字节流 * @author张坚波 * */ public class TestInputStream { private static FileInputStream in ; private

java io流

南楼画角 提交于 2020-02-19 07:48:05
先讲一下流的概念: 在程序中,所有的数据都是以流的形式进行传输和保存的。程序需要数据的时候就用输入流来读取数据,而程序需要保存一些数据的时候,就使用输出流来完成的。 程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。 下面,先总体预览一下java中流的设计: 从这个图上很清楚的看出来,java中把流分为字节流和字符流两个类型。而每一种类型的流分为输入流和输出流这俩大操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)。 java中提供了专用于输入输出功能的包Java.io,其中包括: InputStream,OutputStream,Reader,Writer InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象, Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串. 字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,所以它对多国语言支持性比较好!如果是音频文件

[Java] 各种流的分类及区别

烂漫一生 提交于 2020-02-17 18:33:13
https://www.cnblogs.com/lca1826/p/6427177.html 流在Java中是指计算中流动的缓冲区。 从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流”。 字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节;字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时。先去查指定的编码表,将查到的字符返回。 2.字节流可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据。只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流。 1.字节流: 字节输入流类:FileInputStream、BufferedInputStream和DataInputStream FileInputStream:此类用于从本地文件系统中读取文件内容。 构造方法: ·FileInputStream(File file):打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的File对象file指定。 ·FileInputStream(String name):打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名name指定。 常用方法: ·int available()

2019-05-30 Java学习日记 day20 IO流

荒凉一梦 提交于 2020-02-17 17:04:45
IO流 概念:   IO流用来处理设备之间的数据传输   Java对数据的操作是通过流的方式   Java用于操作流的类都在IO包中   流按流向分为两种:输入流,输出流   流按流操作类型分为两种:     字节流:字节流可以操作任何数据,因在计算机任何数据都是以字节的形式存储的     字符流:字符流只能操作纯字符数据,比较方便 IO流常用父类:   字节流的抽象父类     InputStream     OutputStream   字符类的抽象方法:     Reader     Writer IO程序书写   使用前,导入IO包中的类   使用时,进行IO异常处理   使用后,释放资源 InputStream import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class demo1_FileInputStraem { public static void main(String[] args) throws IOException { //demo1(); FileInputStream fis =new FileInputStream("xxx.txt"); int a; while ((a=fis.read(

iO流

拜拜、爱过 提交于 2020-02-17 16:06:09
IO流:    数据在两设备间的传输称为流,,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 1、但凡是对数据的操作,Java都是通过流的方式来操作的。 2、程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。 3、IO流可以做到数据的持久化,但是IO流本质上是用来处理本地文件系统以及不同设备之间的数据传输。 IO流结构如图下: IO流的分类:    IO流是根据数据类型来分的,分为字节流和字符流。 字节流:一般拿来处理图片视频等文件,同时字节流也是万能流。(主要用来处理字节或二进制对象) 字符流:主要用来处理字符流,还有列如 xml、json 、html 、TXT等文件。 注: 只要是处理纯文本数据,就优先考虑使用字符流,除此之外都使用字节流。 根据数据流来分为输入流和输出流。 字节输入流: 输入流只能进行读操作,而不能向其写入数据。 InputStream 是所有的输入字节流的父类,它是一个抽象类。 FileInputStream 的构造方法 FileInputStream(File file) 创建一个从file读取数据的输入流 FileInputStream(String name) 创建一个从name文件读取数据的输入流 字节输出流: 输出流这只能进行写操作,而不能向其读取数据。 OutputStream

Java_IO流

无人久伴 提交于 2020-02-17 16:05:47
这篇我们聊一聊java中的IO流。 什么是流呢?流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流。流的本质是数据的传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类 根据处理数据类型的不同分为:字符流和字节流; 根据数据流向不同分为:输入流和输出流。 字符流和字节流 字符流的由来:因为数据编码的不同,而有了对字符进行高效操作的对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流与字符流的区别: 1)读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可以读多个字节; 2)处理对象不同:字节流能处理所有类别的对象(如图片、avi等),而字符流只能处理字符类型的数据; 3)字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作;而字符流在操作的时候是会用到缓冲区的,是通过缓冲区来操作文件。 结论:尽可能使用字节流。硬盘上所有文件都是以字节的形式进行传输或保存的,字符只是在内存中才会形成的,所以在开发中,字节流使用更广泛。 输入输出流 对输入流只能进行读操作,对输出流只能进行写操作。程序中需要根据传输数据的不同特性而使用不同的流。 java流 体系统: 首先我们先看下常用的几个类: 1、输入字节流——InputStream 从上面的体系图我们可以看出来

IO流输入输出流,字符字节流

时间秒杀一切 提交于 2020-02-17 16:05:29
一、流 1.流的概念   流是一组有顺序的,有起点和终点的 字节集合,是对数据传输的总称或抽象 。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 2.流的分类   根据处理数据类型的不同分为: 字符流和字节流 ,字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。   根据数据流向不同分为: 输入流和输出流 3.字符流和字节流 3.1 字符流的由来:   因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。 3.2 字节流和字符流的区别: (1)读写单位不同: 字节流以字节(8bit)为单位,字符流以字符为单位 ,根据码表映射字符,一次可能读多个字节。 (2)处理对象不同: 字节流能处理所有类型的数据(如图片、avi等 ),而 字符流只能处理字符类型的数据 。 (3)字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的;而 字符流在操作的时候下后是会用到缓冲区的,是通过缓冲区来操作文件 , 我们将在下面验证这一点。 结论: