Java——IO

目录

File类

Fiel类的常用方法和说明:

输入及输出的概念

流的分类

字节流

InputStream的基本方法:

字符流

节点流与处理流

处理流中常用类

对象序列化--反序列化


File类

File类是java.io包中很重要的一个类。它既可以表示文件,还可以表示目录,在程序中一个File类兑现可以代表一个文件或目录。

File对象可以对文件或目录的属性进行操作,如:文件名、左后修改日期、文件大小等。

Fiel对象无法操作文件中的具体数据,即不能直接对文件进行读、写操作。

Fiel类的常用方法和说明:

1.boolean exists判断文件是否存在,存在就返回true,否则就返回false。但是他的定义的返回值我们并不常用,因为我们需要判断一个文件不存之后对文件进行创建,这个时候返回的false不能进入if只能再创建一个else比较麻烦,所以我们就用到了!非运算符,将false转换成true。

2.boolean isFile判断是否是一个文件,是返回true,不是返回false。

3.boolean isDirectory判断是否为文件夹,是就返回true,不是就返回false。

4.String getName返回文件的名称

5.long length获得文件的长度(字节数)。

6.boolean creatNewFile创建新的文档,成功就返回true,否则返回false,有可能抛出IOException异常,必须捕捉

7.boolean mkdir,创建一个新的文件夹。

8.boolean delete删除文件,删除成功返回true,否则返回false。

9.public String\[\] list将目录即文件的名字,返回到String数组中。

10.public File\[\] listFiles将文件夹的子文件夹和文件返回到File数组中。 //他们都只能返回下一级的文件,想要全部返回只能使用递归。

isDirectory判断是不是一个文件夹。

exists判断文件是否存在

list返回给定目录的所有的子集。返回String类型的数组。但是只能往下找一级。想要接着往下找还需要一些力气和手段。

输入及输出的概念

把电脑硬盘上的数据读到程序中,称为输入,即input,进行数据的read操作,从程序往外部设备写数据,称为输出,即output,进行数据的write操作。

输入和输出的标准是对于程序来说的,进入到程序内叫输入,从程序中出去叫输出。

流的分类

在java语言中提供了许多可以进行读和写操作的类,我们把这些类叫做流。

从数据流编码格式上划分为:

字节流(byte)

字符流(char)

他们的区别就是:字符流读取时以字符为单位,读取txt和java这种纯文本文档,因为字符流在进行转换的时候会对文件中的字节转换成字符。而字节流可以读取任意文件。

流按照数据的传输方向分为:

输入流:往程序中读叫输入流。

输出流:从程序中文往外写叫输入流。

字节流

InputStream和OutputStream的子类都是字节流,可以读写二进制文件,主要处理音频,图片,歌曲,字节流处理单元为1个字节。

字节流中常用类:

字节输入流 FileInputSteam

字节输出流 FileOutputStream

InputStream的基本方法:

int read()读取一个字节并以整数的形式返回(0~255)。如果返回-1就表明已经到输入流的末尾

int read(byte\[\] buffer) 读取一系列字节并存储到一个数组buffer,返回实际读取的字节数,如果读取前已经到输入流的末尾则返回-1

void close()关闭流释放内存资源

OutputStream的基本方法:

void write (int b)向输入流中写入一个字节数据,该字节数据为参数b的低8位。

void write (byte\[\] b,int off, int len)将一个字节类型的数组中的从指定位置开始的len个字节写入到输出流。

void close()关闭流释放内存资源。

字符流

Reader和Writer的子列都是字符流,只要处理字符或者字符串,字符流处理单元为一个字符。字节流将读取到的字节数据,去指定的编码白哦中获取对应文字字符。

字符流只能读取纯文本文件

字符流中常用类:

字符输入流:FileReader

字符输出流:FileWriter

Reader的基本方法

int read()读取一个字符并以整数的形式返回,如果返回-1已经到输入流的末尾

int read(char\[\] cbuf) 读取一系列字符并存储到一个数组buffer,返回实际读取的字符数,如果读取前已到输入流的末尾,返回-1

void close() 关闭

Writer的基本方法

void write(int c)向输出流中写入一个字符数据,该字节数据为参数b的16位。

void write (char\[\] cbuf, int off set, int length)将一个字符类型的数组中的从指定位置开始的length个字符写入到输出流。

void close()关闭

节点流与处理流

根据封装类型不同流又分为

节点流,处理流

节点流:

如果流封装的是如文件,字符串,字符串数组等,则称为节点流

处理流:

如果封装流装的是其他流对象,称为处理流。处理流提供了额外功能

处理流中常用类

缓冲字节输出流 BufferedOutputStream

缓冲字节输入流 BufferedInputStream

数据输出流 DataOutputStream

数据输入流 DataInputStream

缓冲字符输出流 BufferedWriter

缓冲字符输入流 BufferedReader

对象序列化--反序列化

对象的寿命通常随着生成该对象的程序的终止而终止。 有时候,可能需要

将对象的状态保存下来,在需要时再将对象进行恢复。

对象的输入输出流 :

主要的作用是用于写入对象信息与读取对象信息。 对象信息 一旦写到文件

上那么对象的信息就可以做到持久化了.

对象的输出流:ObjectOutputStream

对象的输入流:ObjectInputStream

在ObjectInputStream 中用readObject()方法可以直接读取一个对象,

ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出

流中。

相关推荐
写代码写到手抽筋7 小时前
5G上行DCI字段判定:端口 流数 PMI选择详解
java·算法·5g
xieliyu.7 小时前
Java算法精讲:双指针(二)
java·开发语言·算法
jeffer_liu8 小时前
Spring AI 生产级实战:裁判员
java·人工智能·后端·spring·大模型
何以解忧,唯有..8 小时前
Python包管理工具pip:从入门到精通
开发语言·python·pip
雪的季节8 小时前
RabbitMQ详解
开发语言
小bo波9 小时前
枚举实战
java·设计模式·枚举·后端开发·代码重构
ice8130331819 小时前
【Python】Matplotlib折线图绘制
开发语言·python·matplotlib
夜微凉49 小时前
三、Spring
java·后端·spring
三品吉他手会点灯9 小时前
C语言学习笔记 - 44.运算符和表达式 - 运算符2 - 除法与取余运算符
c语言·开发语言·笔记·算法