Java学习日记2022.7.16

IO

一、File类

在说IO之前我们先了解一个类,在java.io包中有一个很重要的类,类名为File,File类的对象可以表示文件,还可以表示目录(即文件夹),在程序中一个File类对象可以代表一个文件或目录。File对象可以对文件或目录的属性进行操作,如:文件名、文件大小等,但是不能对文件的数据进行操作,不能读出或者写入文件。

File file=new File("文件路径");

File类为操作文件提供的方法在API都可以找到,这里不做过多描述了。

二、IO流

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

字节流与字符流

所谓流,其实是读写文件的操作类,与File不同,它可以读出或者写入文件,在输入或者输出时有两种不同的数据传输方式,一个是字节传输,一个是字符传输,所以就有字节流和字符流。

字节输入流:IputStream 抽象类为所有字节输入流的父类 共有方法:read()

字节输出流:OutputStream 抽象类为所有字节输出流的父类 共有方法:write()

FileInputStream in=new FileInputStream("E:/demo.txt");
int b=in.read();//返回文件字节数
FileOutputStream out=new FileOutputStream("E:/demo1.txt");//输出文件会自动创建
out.write(b);

字符输入流:Reader 抽象类为所有字符输入流的父类 共有方法:read()

字符输出流:Writer 抽象类为所有字符输出流的父类 共有方法:write()

根据封装类型不同流又分为
节点流 处理流

节点流:

如果流封装的是某种特定的数据源,如文件、字符串、字符串数组等,
则称为节点流。

处理流:

如果流封装的是其它流对象,称为处理流。 处理流提供了缓冲功能,
提高读写效率,同时增加了一些新的方法

字节流输入输出的处理流分别是

BufferedInputStream和BufferedOutputStream

字符流输入输出的处理流分别是

BufferedReader和BufferedWriter

你可能感兴趣的:(java,学习,jvm)