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

如何在Java中操作文件的读取和写入函数

发布时间:2023-06-27 01:40:16

在Java中,想要操作文件的读取和写入,需要使用Java中I/O类库提供的各种相关类和方法。下面将具体介绍Java中常用的文件读取和写入函数。

一、文件读取

1. FileReader类

FileReader类用于读取字符文件,它是Reader类的子类。它的构造方法如下:

FileReader(File file) throws FileNotFoundException
FileReader(String fileName) throws FileNotFoundException

使用FileReader可以简单地读取文本文件中的数据。可以使用read()方法读取单个字符,也可以使用read(char cbuf[])方法读取多个字符。下面为示例代码:

File file = new File("E:\\test.txt");
FileReader reader = new FileReader(file);
int data = reader.read();
while (data != -1) {
    System.out.print((char) data);
    data = reader.read();
}
reader.close();

2. FileInputStream类

FileInputStream类用于读取二进制文件,它是InputStream类的子类。它的构造方法如下:

FileInputStream(File file) throws FileNotFoundException
FileInputStream(String name) throws FileNotFoundException

使用FileInputStream可以读取任何类型文件,包括音频、图片等非文本文件。可以使用read()方法读取单个字节,也可以使用read(byte[] b)方法读取多个字节。下面为示例代码:

File file = new File("E:\\test.jpg");
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[1024];
int length = fis.read(buffer);
while (length != -1) {
    System.out.write(buffer, 0, length);
    length = fis.read(buffer);
}
fis.close();

3. BufferedReader类

BufferedReader类用于高效地读取文本文件,它是Reader类的子类。它的构造方法如下:

BufferedReader(Reader in)
BufferedReader(Reader in, int sz)

使用BufferedReader类可以实现高效读取文本文件,特别是当需要按行读取文本内容时,使用BufferedReader更加方便。下面为示例代码:

File file = new File("E:\\test.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
while (s != null) {
    System.out.println(s);
    s = br.readLine();
}
fr.close();
br.close();

二、文件写入

1. FileWriter类

FileWriter类用于写入字符文件,它是Writer类的子类。它的构造方法如下:

FileWriter(File file) throws IOException
FileWriter(File file, boolean append) throws IOException
FileWriter(String fileName) throws IOException
FileWriter(String fileName, boolean append) throws IOException

使用FileWriter来写入数据非常简单,在实例化FileWriter类之后,就可以使用write()方法,将数据写入文件中。在不同的构造函数中,append参数是可选的,如果将append参数设置为true,则将新数据附加到文件的末尾。下面为示例代码:

File file = new File("E:\\test.txt");
FileWriter fw = new FileWriter(file);
fw.write("Hello,World!");
fw.close();

2. FileOutputStream类

FileOutputStream类用于写入二进制文件,它是OutputStream类的子类。它的构造方法如下:

FileOutputStream(File file) throws FileNotFoundException
FileOutputStream(File file, boolean append) throws FileNotFoundException
FileOutputStream(String name) throws FileNotFoundException
FileOutputStream(String name, boolean append) throws FileNotFoundException

使用FileOutputStream来写入数据也很简单,和FileReader类似,可以使用write()方法,将数据写入文件中。同样,append参数也是可选的,如果将append参数设置为true,则将新数据附加到文件的末尾。下面为示例代码:

File file = new File("E:\\test.jpg");
FileOutputStream fos = new FileOutputStream(file);
byte[] data = "Hello,World!".getBytes();
fos.write(data);
fos.close();

以上就是Java中操作文件的读取和写入函数的简单介绍,读者可以根据自己的需要合理地选择和使用相关类和方法,来实现文件的读取和写入。