欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > Java IO

Java IO

2025/4/21 3:46:51 来源:https://blog.csdn.net/2401_83183855/article/details/144543017  浏览:    关键词:Java IO

一、概念

1.目前程序中的数据存储在什么地方?

  • 数据存储在内存中。

2.这种数据存储的方式有什么问题?

  • 内存中的数据存储只是临时存储,再次运行程序数据丢失,不能持久化。

3.持久化:就是把数据从 内存 往 其它存储设备 存储的过程


4.简单而言:流就是内存与存储设备之间传输数据的通道 管道

5.数据借助流传输类比于水库中的水借助管道传输,以家庭为参照物:

水库中的水------->家庭中:流入

家庭废水---------->下水道:流出

Java中的流也有方向,

 

 

二.IO的分流

a. 输入流:将 [其他存储设备]中数据读入到内存中 。->读

 b. 输出流:将内存中数据写入到[其他存储设备]中。->写具体看流的分类。

 

源文件

↓输入流

程序

↓输出流

目标文件




2.按照单位分:
 a. 字节流:以字节为传输单位,可以用于操作所有类型的文件。
 b. 字符流:以字符为传输单位,可以用于操作文本类型的文件。

        ↓
       文本文件:只要能以记事本打开,并且不丢失原有文件内容的文件。
 例如: .txt / .java / .c / .html 等
 .class / .ppt /.mp3等文件不是文本文件。


3. 按功能:
 a. 节点流:只具有基本的读写功能。
 b. 过滤流:在节点流的基础上,增强读写功能。



三、字节流
1. 字节流的父类:(父类为抽象类)
(1) InputStream:字节输入流

  • 读操作(read)
  • 功能方法:read方法
(2)OutputStream:字节输出流
  •   写操作
  • 功能方法:write方法

2. 字节节点流

(1)FileOutputStream:文件字节输出流

  • FileOutputStream fos=new FileOutputStream(“E:/CoreJava/a.txt”);
  • 绝对路径:盘符:/文件夹名/文件名   或是   盘符:\\文件夹名\文件名
  • 创建文件字节输出流时,如果指定的文件不存在,则系统会自动创建一个文件,但是文件夹必须提前创建

(2)FileOutputStream fos=new FileOutputStream(“a.txt”);

  • 相对路径:默认在当前项目的根目录下查找
  • 如果指定的文件不存在,则系统会自动创建一个新的文件

(3)FileOutputStream fos=new FileOutputStream(“file/a.txt”);

   ↓

常用的创建字节输出流的方式。

  • 在当前项目的根目录下的file文件夹中查找是否有a.txt文件,如果不存在,系统默认创建;

  但是文件夹必须提前创建。

(4)FileOutputStream fos=new FileOutputStream(“a.txt”);

  • 默认覆盖原有文件中的内容。

(5)FileOutputStream fos=new FileOutputStream(“file/a.txt”,true);

  • 第一个参数:代表文件的路径
  • 第二个参数:代表是否覆盖原有文件中的内容,数据类型为boolean类型,

             true:在原有内容上追加新内容

            false:写入新内容时,会覆盖文件中原有的内容。


四.常用的方法

1.FileOutputStream继承OutputStream中的方法:

  • public void write(int n):将单个字节写入到文件中36878e627aa9460db1c2f8109935ff33.png

 


五.关闭流

1.将关闭流的语句写在 finally中:不管有没有异常,关闭流必须执行:

9d91c925b3234a8ca2aedf1bdd38c233.png

 

2.利用带资源try语句(try-with-resources):

 

29cae93a294d4678b7543ed4ad71c4fb.png

 


六.File类(java.io包中)

1. File类和IO流的区别。

(1) IO流:对文件的内容进行操作,读取的内容或是将内容写入到文件中。

(2) File类:对文件本身进行操作,例如:删除文件、更改文件名等。

 注意:File类本身不具有操作文件的功能,类中的方法提供了操作文件的功能。

2. File类中常用的方法:

(1) String getName() : 获取文件名,带有扩展名。

(2) String getAbsolutePath(): 获取绝对路径。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词