Java《前世今生》04 之IO流

Java《前世今生》04 之IO流大家好 我是 互联网小龚 某上市公司软件开发工程师 点击右上方 关注 每天分享 个人成长 程序员知识干货 互联圈热点 承接志同道合朋友 一起分享知识 探讨技术

欢迎大家来到IT世界,在知识的湖畔探索吧!

大家好,我是【互联网小龚】,某上市公司软件开发工程师,点击右上方“关注”,每天分享【个人成长】、【程序员知识干货】、【互联圈热点】。承接志同道合朋友,一起分享知识,探讨技术。


一、IO概述

I/O 输入/输出流(数据流动)

数据流动的方向: 读数据(输入Input) 写数据(输出Ootput)

文件流

缓冲流

字符流

对象流

Java《前世今生》04 之IO流



欢迎大家来到IT世界,在知识的湖畔探索吧!

二、文件流

读取文件中的信息in,将信息写入文件中out

文件流按照读取或写入的单位(字节数)大小区分

字节型文件流(1个字节)

FileInputStream/FileOutputStream

字符型文件流(2个字节–1个字符)

​ FileReader/FileWriter

Java《前世今生》04 之IO流

三、缓冲流

缓冲流(高级流)

在管道内增加缓存的数据 让我们使用流读取的文字更加流畅 高级流---->创建通过低级流 BufferedInputStream/BufferedOutputStream BufferedReader/BufferedWrite BufferedInputStream 构建方式:使用低级流构建 基本使用与低级流的方法完全一样 BufferedOutputStream 构建方式:使用低级流构建,注意缓冲流构建的时候没有boolean类型的参数 基本使用与低级流的方法完全一样 BufferedReader String = readLine();//读一行信息 BufferedWrite write(String ); newLine();

欢迎大家来到IT世界,在知识的湖畔探索吧!

Java《前世今生》04 之IO流

四、字符流

1.字节型文件输入流

FileInputStream

欢迎大家来到IT世界,在知识的湖畔探索吧!1、java.io包 2、继承关系 继承InputStream类,字节流输入的父类 3、创建对象 调用一个带File类型的构造方法 调用一个带String类型的构造方法 4、常用的方法 int code = read();每次从流管道中读取一个字节,返回字节的code码 int count = read(byte[])每次从流管道中读取若干个字节,存入数组内,返回有效元素个数 int count = available();返回流管道中还有多少缓存的字节数 long = skip(long n);跳过几个字节读取 一般多线程利用 void = close();将流管道关闭---必须要做,最好放在finally里,注意代码的健壮性,判断严谨

2.字节型文件输出流

FileOutputStream 将数据写入文件中

1、java.io包 2、继承OutputStream类 所有字节型输出流的父类 3、创建对象 调用一个带File参数 还有带File boolean两个参数的重载 调用一个带String参数 还有带String boolean两个参数的重载 4、常用方法 write(int code);将给定code对应的字符写入文件,也可以写‘=’ write(byte[]);将数组中的全部字节写入文件,也可以使用String str然后通过str.getByte()转化 为byte[]数组, flush();将管道内的字节推入(刷新)文件 close();注意在finally中关闭

3.字符型文件流(2个字节–1个字符)

FileReader

欢迎大家来到IT世界,在知识的湖畔探索吧!只能操作纯文本文件 FileReader 1、java.io包 2、继承 InputStreamReader Reader 3、构造方法 4、常用方法 read() read(cher[] )

FileWriter

1、java.io包 2、继承 OutputStreamWrite Write 3、构造方法 调用一个带File参数 还有带File boolean两个参数的重载 调用一个带String参数 还有带String boolean两个参数的重载

4、常用方法

欢迎大家来到IT世界,在知识的湖畔探索吧!write(int) write(char[]) write(string) flush() close()
Java《前世今生》04 之IO流

五、对象流

对象流(高级流)

对象的序列化指的是:将一个完整的对象拆分成字节碎片,记录在文件中

对象的反序列化指的是:将文件中记录的对象随便反过来组合成一个完整的对象

如果想要将对象序列化到文件中

需要让对象实现Serializable接口 是一个示意性接口 同时为了让对象可以反序列化 需要让对象中多存一个属性 private long serialVersionUID = 任意写L;

如果想要将对象反序列化

欢迎大家来到IT世界,在知识的湖畔探索吧!需要给对象提供一个序列化的版本号
Java《前世今生》04 之IO流

六、文件File类

File类—->与电脑上的文件或文件夹产生一一对应的映射关系

file是一个类

java.io包

文件或目录路径的抽象表示形式

file与真实硬盘中的文件或文件夹不是一个东西

file是内存中的一个对象------映射-----硬盘上的文件或文件夹

file类中常用的方法

欢迎大家来到IT世界,在知识的湖畔探索吧!canRead() canWrite() isHidden() isFile() isDirectory() length()获取文件中字节的个数 lastModified()获取文件最后的修改时间---->毫秒值 String = getAbsolutePath()获取文件的绝对路径 绝对路径 相对路径 绝对路径可以通过完整的字符串定位盘符,文件夹,文件 相对路径没有盘符的写法,在当前工程(项目)所在的位置找寻 String = getName()获取文件的名字 boolean = createNewFile()创建新的文件 boolean = mkdir() 创建新的文件夹,外层没有,不能创建 boolean = mkdirs() 创建新的文件夹,外层没有,可以自动创建 String = getParent() 获取当前file的父亲file名字 File = getParentFile()获取当前file的父亲file对象 String[] = list()获取当前file的所有儿子名字 File[] = listFiles()获取当前file的所有儿子对象 boolean = delete() 删除文件或空的文件夹,不能删除带元素的文件夹
Java《前世今生》04 之IO流

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/113855.html

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信