字节流

JavaIO流之常用流总结(一)

匿名 (未验证) 提交于 2019-12-02 20:37:20
首先概述一下IO是什么   我们可以把这种数据的传输 看作是一种数据的流动,按照流动的方向,以内存为基准,分为输入input和输出output,即流向内存是输入流,输出内存的输出流   在Java中I/O操作主要是指使用其IO包下的内容进行输入,输出操作 通常 输入叫做读取数据 输出叫做写出数据   根据数据流向的不同 我们可以把其分为:输入流和输出流     输入流:把数据从其他设备上读取到内存中的流     输出流:把数据从内存中写出到其他设备上的流   根据数据的格局类型可以分为:字节流和字符流     字节流:以字节为单位 读写数据的流     字符流:以字符为单位,读写数据的流     在IO流下的两大分类都有两个祖宗倍的类       字节流中:         输入流: InputStream(字节输入流)         输出流:OutputStream(字节输出流)       字符流中:         输入流:Reader(字符输入流)         输出流:Writer(字符输出流) 先扯扯字节流:   在面向对象思想中有“万物皆对象”,而在这里我也把字节套一套叫"一切皆字节".   一切文件数据在存储时,都是以二进制数字的形式保存 都一个一个的字节 那么传输时一样如此。所以,字节流可以传输任意文件数据。所以我们时时刻刻都要明确,无论使用什么样的流对象

Java基础学习(九) - File类和IO流

自闭症网瘾萝莉.ら 提交于 2019-12-01 08:21:58
1.File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 。 构造方法: public File(String pathname) :通过将给定的 路径名字符串 转换为抽象路径名来创建新的 File 实例。 public File(String parent, String child) :从 父路径名字符串和子路径名字符串 创建新的 File 实例。 public File(File parent, String child) :从 父抽象路径名和子路径名字符串 创建新的 File 实例。 常用方法: public String getAbsolutePath() :返回此 File 的绝对路径名字符串。 public String getPath() :将此 File 转换为路径名字符串。 public String getName() :返回由此 File 表示的文件或目录的名称。 public long length() :返回由此 File 表示的文件的长度。 public boolean exists() :此 File 表示的文件或目录是否实际存在。 public boolean isDirectory() :此 File 表示的是否为目录。 public boolean isFile() :此 File

Java IO流小结

吃可爱长大的小学妹 提交于 2019-12-01 07:02:06
一个流可以理解为一个序列,输出流从一个源头输出数据,输入流向目标输入数据。这些流在数据传输和网络编程起着非常大的作用,下面我们学习其中形形色色的类,了解他们之间的关系与作用。 下图是一个输入流与输出流的类层次图 一,InputStream与OutputStream,字节输入流与字节输出流 InputStream是所有字节输入流的父类,其中子类FileInputStream,DataInputStream,BufferedInputStream,ByteArrayInputStream较为常见,一会详细介绍一下 InputStream常用方法总结 available()返回可以从此输入流读取(或跳过)而不被此输入流的下一个调用方阻塞的字节数 close() 关闭输入流,释放资源 read() 从输入流读取下一字节的数据 read(byte[] b)从输入流中读取一定数量的字节,并将它们存储到缓冲区数组中 OutputStream这个抽象类是表示字节输出流的所有类的超类。输出流接受输出字节并将它们发送到某个接收器 close()仍然是关闭流,释放此流相关的所有资源 writer(int b)将指定的字节写入此输出流 writer(byte[] b)写字 b.length 从指定字节数组到此输出流的字节 Input Stream子类FileInputStream

IO流——各种流整理

跟風遠走 提交于 2019-11-30 23:45:22
最简单的,不加任何修饰的字节输入流 1 /* 2 * 最简单的,不加任何修饰的字节输入流 3 */ 4 import java.io.FileInputStream; 5 6 public class Demo_01 { 7 public static void main(String[] args) throws Exception { 8 FileInputStream file=new FileInputStream("D:\\myjavacode\\IO\\src\\abc.txt"); 9 int temp =-1; 10 while((temp=file.read())!=-1) { 11 System.out.println((char)temp); 12 } 13 file.close(); 14 } 15 } 用数组做缓冲容器 1 import java.io.FileInputStream; 2 3 /* 4 * 用数组做缓冲容器 5 */ 6 public class Demo_02 { 7 public static void main(String[] args) throws Exception { 8 FileInputStream file=new FileInputStream("D:\\myjavacode\\IO\\src\\abc.txt")

Java IO流之字节流

流过昼夜 提交于 2019-11-30 03:34:40
一、 IO 流的概念简述 I:Input: 输入(读取) ,把硬盘中的数据读取到内存中使用 O:Output: (输出、写入) ,把内存中的数据,写入到硬盘中保存 流: (字符、字节) ,1字符=2字节,1字节=8个二进制位 字节流:字节输入流:InputStream ,字节输出流:OutputStream 字符流:字符输入流:Reader,字符输出流:Writer 二、字节输出流写入数据到文件 Java.io.FileOutputStream extends OutputStream    FileOutputStream:文件字节输出流     作用:把内存中的数据读到硬盘的文件中    构造方法: FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的文件输出流        FileOutputStream(File file):创建一个向指定File对象表示的文件中写入数据的文件输出流        参数:写入数据的目的地        String File :目的地是一个文件的路径        File file:目的地是一个文件    构造方法的作用:        创建一个FileOutputStream对象        会根据对象中传递的参数,创建一个空的文件夹       

Java基础:IO流总结

我的梦境 提交于 2019-11-29 16:22:58
  ------- android培训 、 java培训 、期待与您交流! ---------- IO流在是java中非常重要,也是应用非常频繁的一种技术。初学者要是能把IO技术的学透,java基础也就能更加牢靠。本文是根据以前学习IO的过程中的一些总结,再通过查找资料完善出来的,应该算是比较适合初学者解读的。 一、概念 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输。所以,为了方便更直观的进行数据操作,就根据数据传输特性将流抽象为各种类。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。 流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,而不能读它。 我们可以把形象的比喻成水流 ,文件和程序之间连接一个管道,水流就在之间形成了,自然也就出现了方向:可以流进,也可以流出。 二、流的分类 1.根据从流本身的特点来说,可以分为结点流(nodestream)和过滤流(filters)。 (1)结点流直接从指定的位置(如磁盘文件或内存区域)读或写。(如FileOutputStream和FileInputstream) (2)过滤流输入流往往是以其它输入流作为它的输入源

IO流File2

早过忘川 提交于 2019-11-29 09:33:45
字符与字节: (一)“字节”的定义 字节(Byte)是一种计量单位,表示数据量多少,它是计算机信息技术用于计量存储容量的一种计量单位。 (二)“字符”的定义 字符是指计算机中使用的文字和符号,比如1、2、3、A、B、C、~!·#¥%……—*()——+、等等。 (三)“字节”与“字符” 它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同: ①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。 ②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。 ③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。 符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。 ④UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。 ⑤UTF-32编码中,世界上任何字符的存储都需要4个字节。 字节流与字符流: 字节流与字符流主要的区别是他们的的处理方式 字节流是最基本的,采用ASCII编码

io流--转换流,缓冲流

主宰稳场 提交于 2019-11-29 06:17:58
功能: 转换吗?转换流。InputStreamReader OutputStreamWriter 高效吗?缓冲区对象。BufferedXXX unicode:国际标准码表:无论是什么文字,都用两个字节存储。 l Java中的char类型用的就是这个码表。char c = 'a';占两个字节。 l Java中的字符串是按照系统默认码表来解析的。简体中文版 字符串默认的码表是GBK。 UTF-8:基于unicode,一个字节就可以存储数据,不要用两个字节存储,而且这个码表更加的标准化,在每一个字节头加入了编码信息(后期到api中查找)。 能识别中文的码表:GBK、UTF-8;正因为识别中文码表不唯一,涉及到了编码解码问题。 对于我们开发而言;常见的编码 GBK UTF-8 ISO-8859-1 文字--->(数字) :编码。“abc”.getBytes() byte[] (数字)--->文字 : 解码。 byte[] b={97,98,99} new String(b,0,len) 转化流 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去 其实在OutputStreamWriter流中维护自己的缓冲区

IO流——字节流

与世无争的帅哥 提交于 2019-11-29 05:05:06
一、字节输出流 OutputStream OutputStream为抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流的基本共性方法。 方法: void close():关闭此输出流并释放与此流有关的所有系统资源。 void flush():刷新此输出流并强制写出所有缓冲的输出字节。 void write(byte[] b):将b.length个字节从指定的byte数组写入此输出流。 void write(byte[] b, int off, int len):将指定byte数组中从偏移量 off 开始的 len 个字节写入此输出流。 abstract void write(int b):将指定的字节写入此输入流。 来源: https://www.cnblogs.com/peng19920430/p/11456305.html

JavaIO/输出输入入门<一>

梦想的初衷 提交于 2019-11-29 01:00:04
IO称之为输入输出,Java的IO是通过java.io包下的类和接口来支持,包含两大类:输入,输出. 在整个Java.io包中最重要的就是5个类和一个接口 。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable. 掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了。 1.File类 File类是java.io下代表与平台无关的文件和目录.也就是说如果要操作文件和目录,都可以通过File来操作.File不能访问访问文件本身,如果需要访问文件本身,需要使用输入/输出流. File 类有一个欺骗性的名字——通常会认为它对付的是一个文件,但实情并非如此。 它既代表一个特定文件 的名字,也代表目录内一系列文件的名字。 若代表一个文件集,便可用list()方法查询这个集,返回的是一 个字串数组。之所以要返回一个数组,而非某个灵活的集合类,是因为元素的数量是固定的。而且若想得到 一个不同的目录列表,只需创建一个不同的File 对象即可。 事实上,“FilePath ”(文件路径)似乎是一个 更好的名字。 ----摘自 think in java 代码示例File的使用: package org.credo.io; import java.io.File; import java.io