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

如何使用Java文件和IO函数

发布时间:2023-06-18 21:16:26

使用Java文件和IO函数是处理文件和输入输出流的首选方法。Java的IO函数提供了很多方法,可以帮助我们处理文件和数据的输入输出。在这篇文章中,我们将讨论如何使用Java文件和IO函数来读写文件、处理输入输出流以及其他相关主题。下面我们就一步步来看。

一、Java文件的基本操作

在Java中,我们可以通过File类来操作文件和目录。我们可以使用File类的以下方法:

1. 创建文件和目录:

File 类通过createNewFile()、mkdir() 和 mkdirs() 方法创建文件、目录和多级目录。例如:

File file = new File("C:/example/file.txt");

file.createNewFile(); //创建文件

File dir = new File("C:/example");

dir.mkdir(); //创建目录

dir.mkdirs(); //创建多级目录

2. 文件的读、写、拷贝和删除:

为了读取文件,我们需要使用文件 IO 流,例如 FileReader 和 BufferedReader。当我们要写入文件时,我们需要使用 FileWriter 和 BufferedWriter 以及 PrintWriter。例如:

//读取文件

FileReader reader = new FileReader("C:/example/file.txt");

BufferedReader br = new BufferedReader(reader);

String line;

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

    System.out.println(line);

}

reader.close();

br.close();

//写入文件

FileWriter writer = new FileWriter("C:/example/file.txt");

BufferedWriter bw = new BufferedWriter(writer);    

PrintWriter out = new PrintWriter(bw);

out.println("hello, Java");

out.close();

bw.close();

writer.close();

//拷贝文件

File src = new File("C:/example/file.txt");

File dest = new File("C:/example/copy.txt");

Files.copy(src.toPath(), dest.toPath());

//删除文件

File file = new File("C:/example/file.txt");

file.delete();

二、Java I/O 流

Java I/O 流是 Java 的一个关键 API,它被用于读取和写入数据。I/O 流主要分为两类:字节流和字符流。

1. 字节流:

以字节为单位,读取和写入数据。Java 字节流有两个基类:InputStream 和 OutputStream。InputStream 负责从数据源中读取数据,而 OutputStream 负责向输出目的地写入数据。

例如,我们可以使用 FileInputStream 和 FileOutputStream 来读写字节流:

//读取字节流

FileInputStream fis = new FileInputStream("C:/example/file.txt");

byte[] content = new byte[1024];

int len = fis.read(content);

fis.close();

//写入字节流

FileOutputStream fos = new FileOutputStream("C:/example/file.txt");

byte[] content = "hello, Java".getBytes();

fos.write(content);

fos.close();

2. 字符流:

以字符为单位,读取和写入数据。字符流在读写文本文件方面非常方便。Java 字符流有两个基类:Reader 和 Writer。

例如,我们可以使用 FileReader 和 FileWriter 来读写字符流:

//读取字符流

FileReader reader = new FileReader("C:/example/file.txt");

BufferedReader br = new BufferedReader(reader);

String line;

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

    System.out.println(line);

}

reader.close();

br.close();

//写入字符流

FileWriter writer = new FileWriter("C:/example/file.txt");

BufferedWriter bw = new BufferedWriter(writer);    

PrintWriter out = new PrintWriter(bw);

out.println("hello, Java");

out.close();

bw.close();

writer.close();

三、Java I/O 流的类型

在 Java 中,I/O 流主要分为以下几种类型:

1. FileInputStream 和 FileOutputStream:

用于读取和写入二进制文件,如图片、音频、视频等。

2. FileReader 和 FileWriter:

用于读取和写入文本文件,如 txt、rtf、html、xml 等。

3. BufferedInputStream 和 BufferedOutputStream:

可以提高读写性能,通过缓存区间在文件与 Java 程序之间复制数据时实现。

4. BufferedReader 和 BufferedWriter:

也可以提高读写性能,在文件读写上除了与 BufferedInputStream 和 BufferedOutputStream 功能类似外,特别适合读取与写入字符或文本文件,对转换的缓冲区的处理特别重要。

5. DataInputStream 和 DataOutputStream:

用于读取或写入基本数据类型,如 int、float、double、boolean 等。

6. ObjectInputStream 和 ObjectOutputStream:

用于读取或写入 Java 的对象。

总之,Java 文件和 IO 函数是 Java 中处理文件和输入输出流的核心组成部分。了解 Java 文件和 IO 函数是 Java 程序员必须具备的技能之一。希望本文对您有所帮助!