欢迎访问宙启技术站
智能推送

Java IO中的文件读写函数详解

发布时间:2023-05-22 09:44:19

在大多数程序开发中,读写文件是非常常见的任务。 Java提供了丰富的API,使得文件读写变得非常方便和灵活。本文将详细介绍文件读写函数的API、参数和用法。

1. 文件读写API

在Java中,文件读写的API主要包括如下几个类:

- File:表示文件或目录的抽象路径名

- FileInputStream和FileOutputStream:用于读写文件的底层输入输出流

- FileReader和FileWriter:用于读写字符文件(即文本文件)的高层次抽象类

- BufferedReader和BufferedWriter:用于读写字符文件(即文本文件)的缓冲流

2. 文件读写参数

在文件读写函数中,常用的参数包括:

- 文件路径:表示要读取或写入的文件路径,可以是绝对路径或相对路径。

- 编码方式:表示文件内容的编码方式,常见的编码方式有UTF-8和GBK。

- 缓冲区大小:表示缓冲区大小,可以根据需求设置。

3. 文件读写用法

(1)File类的用法

File类提供了一些静态方法和实例方法,用于文件或目录的操作。其中,一些常用的方法包括:

- exists():判断文件或目录是否存在

- isDirectory():判断是否是目录

- isFile():判断是否是文件

- createNewFile():创建新文件

- mkdir():创建新目录

- delete():删除文件或目录

具体使用方法可以参考以下示例代码:

String filePath = "C:\\test\\test.txt";

File file = new File(filePath);

if (!file.exists()) {

    file.createNewFile();

}

System.out.println("文件路径:" + file.getAbsolutePath());

if (file.isFile()) {

    System.out.println("是文件");

}

if (file.isDirectory()) {

    System.out.println("是目录");

}

(2)FileInputStream和FileOutputStream的用法

FileInputStream和FileOutputStream是用于读写文件的底层输入输出流。读取文件的示例代码如下:

String filePath = "C:\\test\\test.txt";

FileInputStream inputStream = new FileInputStream(filePath);

byte[] buffer = new byte[1024];

int length;

while ((length = inputStream.read(buffer)) != -1) {

    String text = new String(buffer, 0, length, "UTF-8");

    System.out.print(text);

}

inputStream.close();

写入文件的示例代码如下:

String filePath = "C:\\test\\test.txt";

FileOutputStream outputStream = new FileOutputStream(filePath);

String content = "Hello world";

byte[] data = content.getBytes("UTF-8");

outputStream.write(data);

outputStream.flush();

outputStream.close();

(3)FileReader和FileWriter的用法

FileReader和FileWriter是用于读写字符文件(即文本文件)的高层次抽象类。读取文件的示例代码如下:

String filePath = "C:\\test\\test.txt";

FileReader reader = new FileReader(filePath);

char[] buffer = new char[1024];

int length;

while ((length = reader.read(buffer)) != -1) {

    String text = new String(buffer, 0, length);

    System.out.print(text);

}

reader.close();

写入文件的示例代码如下:

String filePath = "C:\\test\\test.txt";

FileWriter writer = new FileWriter(filePath, false);

String content = "Hello world";

writer.write(content);

writer.flush();

writer.close();

(4)BufferedReader和BufferedWriter的用法

BufferedReader和BufferedWriter是用于读写字符文件(即文本文件)的缓冲流。读取文件的示例代码如下:

String filePath = "C:\\test\\test.txt";

FileReader reader = new FileReader(filePath);

BufferedReader bufferedReader = new BufferedReader(reader);

String line;

while ((line = bufferedReader.readLine()) != null) {

    System.out.println(line);

}

bufferedReader.close();

reader.close();

写入文件的示例代码如下:

String filePath = "C:\\test\\test.txt";

FileWriter writer = new FileWriter(filePath, false);

BufferedWriter bufferedWriter = new BufferedWriter(writer);

String content = "Hello world";

bufferedWriter.write(content);

bufferedWriter.newLine();

bufferedWriter.flush();

bufferedWriter.close();

writer.close();

4. 文件读写注意事项

在文件读写时,需要注意以下几点:

- 一定要关闭文件流:为了避免内存泄漏,一定要在文件读写完毕后及时关闭文件流。

- 检查文件是否存在:在读取文件之前,一定要检查文件是否存在,避免出现异常。

- 处理文件编码:在读取或写入文件时,一定要根据文件编码去设置相应的编码格式,否则可能会出现乱码的情况。

- 处理文件路径:在指定文件路径时,一定要注意斜杠的方向和个数,避免出现路径错误的情况。

总结

文件读写在程序中非常常见,Java提供了丰富的API来实现文件读写操作。本文主要介绍了文件读写函数的API、参数和用法,希望对读者有所帮助。在实际使用中,也需要注意文件读写的注意事项,保证程序的正确性和可靠性。