IO流
文章平均质量分 76
TRACY吹西
热爱
展开
-
272-275 File类
272 File类概述和构造方法IO流file字节流字符流特殊操作流(查看帮助文档)【File类概述和构造方法】【File类】File是文件和目录路径名的抽象表示,文件和目录可以通过File封装成对象。File封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的(在操作中创建出来)。将来要通过具体的操作把这个路径的内容转换为具体存在的。 File的构造方法 说明 1原创 2021-11-19 09:55:04 · 149 阅读 · 0 评论 -
278、279 (案例)遍历目录(递归、File类)
278 (案例)遍历目录(递归、File类)【需求】- 给定一个路径,通过递归完成遍历该目录下的所有内容,并写屏所有文件的绝对路径注意,如果是文件,则写屏绝对路径,如果是目录,要继续深入下去这个目录的下一级,直到没有目录为什么要通过递归实现?——因为目录下有子目录、孙目录、曾孙目录等等,中间还可能有文件,体系复杂,因此通过递归实现--------------------------------------------------------------1 package e278;2原创 2021-11-18 11:49:22 · 132 阅读 · 0 评论 -
280 字节流写数据
280 字节流写数据(复杂的课)(说一句写一句,是不能直接理解的那种句,看,代码里那么多注释)(查看帮助文档InputStream)> 所有和输入输出相关的操作,基本都在io包下java.io.InputStreamInputStream是所有输入字节流的超类已知直接子类,都以InputStream作为名称后缀,例如AudioInputStream。这样做的好处是,一看就知道是字节输入流。·(查看帮助文档InputStream)java.io.OutputStr原创 2021-11-18 11:47:01 · 46 阅读 · 0 评论 -
281 字节流写数据的3种方式
281 字节流写数据的3种方式 方法 说明 1 void write(int b) 将指定的字节写入此文件输出流,每次写1个字节数据 2 void write(byte[] b) 将b.length字节从指定的字节数组写入此文件输出流,每次写1个字节数组数据 3 void write(原创 2021-11-18 11:46:24 · 92 阅读 · 0 评论 -
282 字节流写数据的2个小问题
282 字节流写数据的2个小问题【问题1】字节流写数据如何换行?】加上换行符\r\n【问题2】字节流写数据如何追加写入?】创建FileOutputStream对象时用这个构造方法即可实现追加写入:FileOutputStream(String name, boolean append)--------------------------------------------------------------1 package e282;23 import java.i原创 2021-11-18 11:45:49 · 171 阅读 · 0 评论 -
283 字节流写数据加异常处理
283 字节流写数据加异常处理所有跟IO有关的操作,都要释放它的资源。为了保证这一点,java提供了关键字finally。【finally】- 在异常处理时提供finally块来执行所有清除操作,比如IO流中的释放资源。- 特点,被finally控制的语句一定会执行,除非JVM退出- finally和try…catch如何配合使用? try{ 可能出现异常的代码 }catch{ 异常的处理 }finally{ 执行所有清除操作 }原创 2021-11-18 11:45:19 · 56 阅读 · 0 评论 -
284 字节流读数据(一次读一个字节)
284 字节流读数据(一次读一个字节)(复杂的课)(差点把电脑搞坏(不是)) 方法 描述 1 read(byte[]b) 从此输入流b.length最多b.length字节的数据读b.length字节数组。 (返回字节个数) 2 read(byte[] b, intoff,intlen) 从此...原创 2021-11-18 11:44:47 · 130 阅读 · 0 评论 -
285 (案例)字节流复制文本文件
285 (案例)字节流复制文本文件【需求】把"C:\\develper\\e285-1.txt"复制到"myIOStream\\e285-1.txt"(也就是把这个 txt文件目录 复制到 模块目录)【分析】复制文本文件的内容,其实就是,把指定文件的内容读取出来(数据源),然后写入指定目录(目的地)——(数据源 -> 目的地)数据源C:\\develper\\e285-1.txt,读数据,InpuStream,FileInputStream目的地myIOStream\\..原创 2021-11-18 11:44:16 · 65 阅读 · 0 评论 -
286 字节流读数据(一次读一个数组全部字节)
286 字节流读数据(一次读一个数组全部字节)【需求】把txt文件中的内容读取出来,写屏·【步骤】用字节输入流读数据的步骤】创建字节输入流对象 调用字节输入流对象的read方法 释放资源1 package e286; 23 import java.io.FileInputStream;4 import java.io.IOException;56 /*7 1. 创建字节输入流对象8 2. 调用字节输入流对象的read方法9 3. 释放资源10 */.原创 2021-11-18 11:43:52 · 84 阅读 · 0 评论 -
322 Properties和IO流相组合的方法
322 Properties和IO流相组合的方法(myOtherStream)【Properties和IO流相组合的方法】 1 void load(InputStream InStream) 从 输入字节流 读取属性列表(键和元素对) 2 void load(Reader reader) 从 输入字符流 读取属性列表(键和元素对) 3 voi原创 2021-11-11 10:56:32 · 62 阅读 · 0 评论 -
318 对象反序列化流
318对象反序列化流(myOtherStream)(查看帮助文档:ObjectInputStream) 模块 java.base 软件包 java.io Class ObjectInputStream java.lang.Object java.io.InputStream java.io.ObjectInputStream 实现的所有接口 Closeable , DataInput , ObjectInput , O...原创 2021-11-16 09:46:05 · 58 阅读 · 0 评论 -
315 字符打印流
315字符打印流(myOtherStream)(查看帮助文档:PrintWriter的构造方法) PrintWriter (String fileName) 使用指定的文件名 创建新的PrintWriter,不需要手动执行刷新 (见Demo1) PrintWriter (Writer out,boolean autoFlush) 创建新的PrintWriter,out是字符输出流,autoFlush是布尔值,是真则p.原创 2021-11-13 12:02:20 · 197 阅读 · 0 评论 -
309 复制单级文件夹
309复制单级文件夹单级文件夹,就是内部不含文件夹的文件夹,【文件夹套文件夹体系】的最底层多级文件夹,内部包含文件夹的文件夹,【文件夹套文件夹体系】的非最底层【思路】(准备)(新建一个空文件夹,C:\develper\309)(因为要复制目录、图片,因此采用字节流而不是字符流)创建 数据源目录File对象 获取 数据源目录File对象的名称(复用原文件名) 创建 目的地目录File对象 判断 目的地目录的File是否存在,不存在则创建 获取 数据源目录下的所有文件的Fi.原创 2021-11-15 10:20:43 · 383 阅读 · 0 评论 -
312 标准输入流
312标准输入流(理论课)(myOtherStream)(讲解Scanner(System.in)的原理)(查看帮助文档System)System类中有两个静态的成员变量- public static final InputStream in 标准输入流,通常该流对应键盘输入or由主机环境or由用户指定的另一个输入源- public static final OutputStream out 标准输出流,通常该流对应显示输出or由主机环境or由用户指...原创 2021-11-13 12:03:04 · 596 阅读 · 0 评论 -
293 字符流
293 字符流字符流抽象基类Reader 字符输入流的抽象类Writer 字符输出流的抽象类·字符流中和编码解码问题相关的两个类InputStreamReader,InputStreamReader是从字节流到字符流的桥接器:它使用指定的charset读取字节并将其解码为字符。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。OutputStreamWriter,OutputStreamWriter是从字符流到字节流的桥接器:使用指定的charset原创 2021-11-17 10:00:24 · 177 阅读 · 0 评论 -
310 复制多级文件夹
310复制多级文件夹(复杂难懂的课)(先抄下代码,彻底的理解掌握暂略)【需求】复制多级目录数据源:C:\develper\310目的地:myCharStream\src\e310【思路】(准备)(新建如图文件、文件夹)创建 数据源File对象,C:\develper\30 创建 目的地File对象,myCharStream\src\e310 定义 方法,实现复制文件 判断 数据源File是否目录【递归】 是目录,则-1-复制目录-2-获取listFile数组.原创 2021-11-15 10:20:29 · 204 阅读 · 0 评论 -
316 复制Java文件打印流改进版
316复制Java文件打印流改进版(myOtherStream)【需求】把"myOtherStream\\src\\e316\\66.txt",复制到 "myOtherStream\\src\\e316\\77.txt"【思路】(准备)(myOtherStream\\src\\e316\\66.txt)(准备)(myOtherStream\\src\\e316\\662.txt)根据 数据源 创建 字符输入流对象 根据 目的地 创建 字符输出流对象 读写 数据,复制文件 .原创 2021-11-13 12:02:02 · 38 阅读 · 0 评论 -
313 标准输出流
313标准输出流(理论课)(myOtherStream)(讲解PrintStream的原理)public static final PrintStream outout是PrintStream类型的, 被final修饰说明-是常量, 被static修饰说明-可以通过类名直接访问,---------------------------------------------package e313;import java.io.PrintStream;publi.原创 2021-11-13 12:02:51 · 205 阅读 · 0 评论 -
317 对象序列化流
317对象序列化流(myOtherStream)【对象序列化流】将对象保存在内存中,or在网络中传输对象。 使用一个字节序列,表示一个对象,该字节序列包含: 对象的类型、对象的数据、对象的属性aso 字节序列写到文件后,相当于文件中持久保存一个对象的信息(查看帮助文档:ObjectOutputStream) 模块 java.base 软件包 java.io Class ObjectOutputStream java.lang.Object ...原创 2021-11-13 12:01:40 · 38 阅读 · 0 评论 -
294 字符流写数据的5种方式
294 字符流写数据的5种方式 方法 描述 1 void write(intc) 写入一个字符 2 void write(char[] cbuf) 写入一个字符数组 3 void write(char[] cbuf,int off,int len) 写入字符数组.原创 2021-11-17 09:59:53 · 143 阅读 · 0 评论 -
314 字节打印流
314字节打印流(理论课)(myOtherStream)(讲解PrintStream的原理) 打印流分类 PrintStream 字节打印流,用于写数据,不能读数据 PrintWriter 字符打印流 打印流的特点 能输出数据,不能读数据 有自己的特有方法,write、print、println等 构造方法...原创 2021-11-13 12:02:36 · 42 阅读 · 0 评论 -
319 序列化流中的3个问题,serialVersionUID & transient
319序列化流中的3个问题,serialVersionUID & transient(myOtherStream) Q1:用对象序列化流 序列化了 一个对象后,假如相关文件被修改,读数据会出问题吗? 例如,输出文件后,修改类的代码,添加一个toString方法。 会。java.io.InvalidClassException ObjectStreamExceptionSerialization运行时检测到类的以下问题之一时抛.原创 2021-11-15 10:23:55 · 231 阅读 · 0 评论 -
311 复制文件的异常处理
311复制文件的异常处理【标准写法】 BufferedInputStream bis=null; try{ try{ 可能出现异常的代码 bis=new BufferedInputStream(new FileInputStream"C:\\develper"); }catch(异常类名 变量名){ }catch(IOException ...原创 2021-11-13 12:03:15 · 380 阅读 · 0 评论 -
287 (案例)字节流复制图片
287 (案例)字节流复制图片【需求】把"C:\develper\fish.jpg",复制到 模块目录下的"bigfish.jpg"1 package e287;23 import java.io.FileInputStream;4 import java.io.FileOutputStream;5 import java.io.IOException;67 public classCopyJpgDemo{8 public static void main(Str...原创 2021-11-17 10:03:43 · 65 阅读 · 0 评论 -
288 字节缓冲流
288 字节缓冲流(查看帮助文档BufferedOutputStream)【类】说明】BufferedOutputStream实现了一个缓冲输出流。通过设置这样的输出流,应用程序可以将字节写入底层输出流,而不必为写入的每个字节调用底层系统。(通过设置一个缓冲区,可以一次性把数据源写入目的地)BufferedInputStream向另一个输入流添加功能 - 即缓冲输入并支持mark和reset方法的功能。 创建BufferedInputStream将创建内部缓冲区阵列。 当读取或跳过来自‘流’原创 2021-11-17 10:03:11 · 55 阅读 · 0 评论 -
289 字节流复制视频
289 字节流复制视频【需求】把"C:\develper\smile.mp4"复制到"myIOStream\src\e289\111.mp4"(把一个视频文件,从磁盘目录,复制到模块目录)【思路】根据数据源创建字节输入流对象 根据目的地创建字节输出流对象 读写数据,实现复制视频 释放资源【要求】使用4种方式复制,并记录每一种所需的时间字节流 一次读写一个字节 字节流 一次读写一个字节 数组 字节缓冲流 一次读写一个字节 字节缓冲流 一次读写一个字节 数组【报错经验】原创 2021-11-17 10:02:38 · 79 阅读 · 0 评论 -
290 为什么出现字节流
290 为什么出现字节流> 1个汉字,GBK编码下占用2字节,UTF-8编码下占用3字节。故如果挨个输出文件中的汉字,则显示为乱码。所以字节流不能读中文【需求】用字节流读数据【准备】"myCharStream\\src\\e290\\ninty.txt"--------------------------------------------------------------1 package e290;3 import java.io.FileInputStream;原创 2021-11-17 10:02:07 · 60 阅读 · 0 评论 -
291 编码表
291 编码表字符流 = 字节流 + 编码表【基础知识普及】二进制数以win10的计算器为例,把标准模式转换为程序员模式。在程序员模式下,输入数字,得到如下结果 输入2 输入3 输入12 输入666 HEX 2 3 C 29A DEC 2原创 2021-11-17 10:01:33 · 156 阅读 · 0 评论 -
292 字符串中的编码解码问题
292 字符串中的编码解码问题> 我们采用IDEA平台编写代码 编码 byte[] getBytes(); 使用平台的默认字符集,将该String编码为一系列字节,将结果存储到新的 字节数组 byte[] getBytes(String charsetName); 使用指定的字符集,将该String编码为一系列字节,将结果存储到 新的字节数组 解码 String(b原创 2021-11-17 10:01:00 · 54 阅读 · 0 评论 -
296 (案例)字符流复制Java文件
296 (案例)字符流复制Java文件(和复制视频的案例十分相似)【需求】把数据源"c:\\develper\\jj.java",复制到目的地"myCharStream\\src\\e296\\jj.java"【思路】根据数据源创建字符输入流对象 根据目的地创建字符输出流对象 读数据,写数据 释放资源【报错了】在准备所需要的java文件时,我可以用代码写一个这样的文件,但其中的内容写不了实际运行后,在当前模块下创建了类下包含类的效果。。。---------------原创 2021-11-17 09:57:54 · 66 阅读 · 0 评论 -
297 (案例)字符流复制Java文件改进版(转换流便捷类)
297 (案例)字符流复制Java文件改进版(转换流便捷类)【需求】把"myCharStream\Copy.java",复制到"myCharStream\src\e297\Paste.java"【分析】转换流的名字(InputStreamReader、OutputStreamWriter)比较长,常见的操作是按本地默认编码实现的。因此,为了简化书写,转换流提供了对应的子类FileReader,用于读字符文件的便捷类,FileReader(String fileName)FileWri原创 2021-11-16 10:09:49 · 83 阅读 · 0 评论 -
298 字符缓冲流2021-11-16
298 字符缓冲流相似的是,字节缓冲流 BufferedReader 构造方法:BufferedReader(Readerin) 从字符输入流读取数据,缓冲字符,提供字符、数组、行的高效读取,可指定or不指定缓冲区大小。默认值很大,一般够用 void newLine(),写一个空行,自动匹配win、mac、linux所使用的不同的换行符 (e300) BufferedWriter 构造方法:Buffere.原创 2021-11-16 10:09:11 · 345 阅读 · 0 评论 -
299 字符缓冲流复制Java文件2021-11-16
299 字符缓冲流复制Java文件【需求】略【思路】准备一个java文件,不要放在模块目录下,用sublime打开查看创建BufferedReader对象,调用read方法,实现读数据创建BufferedWriter对象,调用write方法,实现写数据【注意点】BufferedReader对象包含FileReader对象,fr对象包含文件地址BufferedWriter对象包含FileWriter对象,fw对象包含文件地址【Prepare的代码思路】创建Out原创 2021-11-16 10:08:23 · 61 阅读 · 0 评论 -
300 字符缓冲流特有功能2021-11-16
300 字符缓冲流特有功能 BufferedReader 构造方法:BufferedReader(Readerin) 从字符输入流读取数据,缓冲字符,提供字符、数组、行的高效读取,可指定or不指定缓冲区大小。默认值很大,一般够用 void newLine(),写一个空行,自动匹配win、mac、linux所使用的不同的换行符 (e300) BufferedWriter 构造方法:BufferedWriter(.原创 2021-11-16 10:07:46 · 51 阅读 · 0 评论 -
301 字符缓冲流特有功能复制Java文件2021-11-16
301 字符缓冲流特有功能复制Java文件【需求】略【思路】略【注意】使用字符缓冲流特有功能实现复制文件--------------------------------------------------------------package e301;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;public classPrepa.原创 2021-11-16 10:06:09 · 43 阅读 · 0 评论 -
IO流小结
原创 2021-11-16 10:05:32 · 47 阅读 · 0 评论