Java输入和输出

File类,什么是File类,它是java.io包下代表与平台无关的文件和目录的类。

在程序中操作文件和目录都是用File类完成,

File可以新建文件、删除文件、重命名文件和目录,但是不能访问文件内容本身

如果要访问文件内容本身就要使用输入/输出流。

File类的构造器

构造器

说明

File(String pathname)

通过将给定路径名字符串转换为抽象路径名来创建一个新 File  例。

File(String parent, String child)

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File  例。

File(File parent, String child)

根据 parent 抽象路径名和 child 路径名字符串创建一个新 File  例。

File(URI uri)

通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。

 

File是一个类,文件类。

所以要使用它来创建目录或文件等就要先实例化它的类。

实例化File

File file = new File(”E:/z[你是猪?1] );

然后调用mkdir方法创建一个新的文件夹:

如:file.mkdir()

用createNewFile方法创建一个新的空文件(.txt类型文件)

如:file. createNewFile()

在创建时文件名必须要是唯一的才可以创建

 file.exists()判断是否已经存在该文件名

isDirectory() 测试此抽象路径名表示的文件是否是一个目录

File类只能够创建,删除等文件,但是不能够进行访问文件中的内容,也不能向文件中输入内容,

 

下面我们了解下怎么向文件输入(写入),输出内容。

实现输入输出就得要用到Java中的IO”流”(stream)

流的分类:

流有输入和输出流,它们都是从程序运行所在内存的角度来划分的。

输入流:只能读取数据,由InputStream Reader作为基类

输出流:只能写入数据,由OutputStream Writer作为基类

字节流:字节流操作的数据单元是8位的字节,由InputStream和OutputStream作为基类

字符流:字符流操作的数据单元是16位的字符,由Reader 和 Writer作为基类

节点流:可以从向一个特定的IO设备(如此磁盘、网络)读/写数据的流,也被称为低级流

处理流:用于对一个已存在的流进行连接或封装、通过封装后的流来实现数据读/写功能。也称为高级流。

InputStream类的方法

Reader类的方法

OutputStream类的方法

Writer类的方法

 

InputStream/Reader:所有输入流的基类、前者是字节输入流,后者是字符输入流

OutputStream/Writer:所有输出流的基类、前者是字节输出流,后者是字符输出流

InputStream和Reader都是抽象类,本身不能创建实例、但它们分别有一个用于读取文件的输入流:FileInputStream 和 FileReader、它们都是节点需要直接和指定文件关联。

InputStream/Reader:是输入流

InputStream读取的是字节流,参数是byte数组(byte[])

实例化方法:InputStream input = new FileInputStream”E:\\z\\rr”;

Reader读取的是字符,使用的参数是char数组(char[];

实例化方法:Reader reader= new FileReader”E:\\z\\rr”;

OutputStreamWriter: 输出流  new 的对象是FileOutputStream/FileWriter

OutputStream Writer相比,Writer多了个append 的追加方法。

处理流:(PrintWriter printWriter = new PrintWriter();

处理流可以隐藏底层设备上节点流的差异,并对外提供更加方便的输入/输出方法,让 程序员只需关心高级流的操作。  

使用处理流时的典型思路是,使用处理流来包装节点流,程序通过处理流来执行输入 输出功能,让节点流与底层的IO设备、文件交互。  

实际识别处理流非常简单,只要流的构造器参数不是一个物理节点,而是已经存在的 流,那么这种流就一定是处理流;而所有节点流都是直接以物理IO节点作为构造器参数的。

使用处理流的优势:

1. 对开发人员来说,使用处理流进行输入/输出操作更简单;

2. 使用处理流的执行效率更高。

转换流

输入/输出流体系中还提供了两个转换流,这两个转换流用于将字节流转换成字符流, 其中InputStreamReader将字节输入流转换成字符输入流, OutputStreamWriter将字节输出流转换成字符输出流


 

猜你喜欢

转载自blog.csdn.net/weixin_44560357/article/details/89949474