前言
io流用到的地方很多,就比如上传下载,传输,设计模式等....基础打扎实了,才能玩更高端的 。
在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点:
(1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写)以上四点将会在文章告白IO流的四点明确里面小结一下,如果各位真能熟练以上四点,我觉得这篇文章你就没必要看了,因为你已经把IO玩弄与股掌之中,万物皆可被你盘也就也不再话下了 。
(2)明确要操作的设备上的数据是字节还是文本
(3)明确数据所在的具体设备
(4)明确是否需要额外功能(比如是否需要转换流、高效流等)
@
1、告白IO流的四点明确(1)明确要操作的数据是数据源还是数据目的(要读还是要写)
源:
InputStream Reader
目的:(2)明确要操作的设备上的数据是字节还是文本
OutputStream Writer
源:
字节: InputStream
文本: Reader
目的:(3)明确数据所在的具体设备
字节: OutputStream
文本: Writer
源设备:
硬盘:文件 File开头
内存:数组,字符串
键盘:System.in
网络:Socket
对应目的设备:(4)明确是否需要额外功能
硬盘:文件 File开头
内存:数组,字符串
屏幕:System.out
网络:Socket
需要转换—— 转换流 InputStreamReader 、OutputStreamWriter到这里,我们再来看看IO流的分类吧
需要高效—— 缓冲流Bufferedxxx
多个源—— 序列流 SequenceInputStream
对象序列化—— ObjectInputStream、ObjectOutputStream
保证数据的输出形式—— 打印流PrintStream 、Printwriter
操作基本数据,保证字节原样性——DataOutputStream、DataInputStream

文章插图
OK,准备好了告白IO流了咩?
2、File类至于IO流,也就是输入输出流,从文件出发到文件结束,至始至终都离不开文件,所以IO流还得从文件File类讲起 。
1.1 File概述
JAVA.io.File 类是专门对文件进行操作的类,只能对文件本身进行操作,不能对文件内容进行操作 。
java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作 。
怎么理解上面两句话?其实很简单!
第一句就是说File跟流无关,File类不能对文件进行读和写也就是输入和输出!
第二句就是说File主要表示类似D:\文件目录1与D:\文件目录1\文件.txt,前者是文件夹(Directory)后者则是文件(file),而File类就是操作这两者的类 。
1.2 构造方法
在java中,一切皆是对象,File类也不例外,不论是哪个对象都应该从该对象的构造说起,所以博主来分析分析File类的构造方法 。首先从API开始着手

文章插图
我们主要来学习一下比较常用的三个:
1、 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例 。
2、 public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例 。
3、 public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例 。
看字描述不够生动不够形象不得劲?没得事,下面进行构造举例,马上就生动形象了,代码如下:
File类的注意点:1.3 常用方法
一个File对象代表硬盘中实际存在的一个文件或者目录 。File类构造方法不会给你检验这个文件或文件夹是否真实存在,因此无论该路径下是否存在文件或者目录,都不影响File对象的创建 。
File的常用方法主要分为获取功能、获取绝对路径和相对路径、判断功能、创建删除功能的方法
1.3.1 获取功能的方法
1、public String getAbsolutePath() :返回此File的绝对路径名字符串 。
2、public String getPath() :将此File转换为路径名字符串 。
3、public String getName() :返回由此File表示的文件或目录的名称 。
4、public long length() :返回由此File表示的文件的长度 。
推荐阅读
- 云南旅游攻略,包含路线、景点、交通、住宿、美食、费用最全攻略
- 女生如何逆袭变女神?变美最全攻略请收下
- 天眼查询个人 查询个人信息最全的网站
- 香格里拉旅游最全攻略
- 历史上的生物战 中国人和外星人发生过战争吗
- 荣耀|荣耀史上最薄5G手机!荣耀Play6T系列亮相
- 凉茶史上首个公约 凉茶非遗品牌领跑行业
- 史上最全Docker环境安装指南
- 史上最惨烈的拳击赛 最精彩的重量级拳击比赛
- 十年免税!芯片史诗级利好来袭,最全产业链公司一览「附名单」
