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

Java中的输入输出流函数使用方法

发布时间:2023-06-01 08:06:03

Java中的输入输出流函数使用方法

Java是一种面向对象的编程语言,其输入输出流函数是实现数据读写的重要方法。在Java中,输入输出流分为字节流和字符流两类。其中,字节流是对数据以字节为单位进行读写,而字符流是对数据以字符为单位进行读写。下面将详细介绍Java中的输入输出流函数的使用方法。

一、字节流函数

1. FileInputStream

FileInputStream是字节流的输入流类,用于从文件中读取数据。它的用法如下:

FileInputStream fis = new FileInputStream("file.txt");

byte[] buffer = new byte[1024];

int len;

while ((len = fis.read(buffer)) != -1) {

    System.out.write(buffer, 0, len);

}

fis.close();

在上面的代码中,我们首先创建一个FileInputStream对象来读取文件“file.txt”中的数据。然后,我们创建一个缓冲数组来存储读取到的数据,并通过while循环不断读取数据,直到读到文件末尾。最后,我们通过System.out.write()将数据输出到控制台,并关闭文件输入流。

2. FileOutputStream

FileOutputStream是字节流的输出流类,用于将数据写入文件中。它的用法如下:

FileOutputStream fos = new FileOutputStream("file.txt");

byte[] data = "hello world".getBytes();

fos.write(data);

fos.close();

在上面的代码中,我们首先创建一个FileOutputStream对象来写入数据到文件“file.txt”中。然后,我们创建一个字符串“hello world”,并通过getBytes()方法将其转换为字节数组。接着,我们通过fos.write()将数据写入文件中,并关闭文件输出流。

二、字符流函数

1. FileReader

FileReader是字符流的输入流类,用于从文件中读取字符数据。它的用法如下:

FileReader fr = new FileReader("file.txt");

char[] buffer = new char[1024];

int len;

while ((len = fr.read(buffer)) != -1) {

    System.out.print(buffer, 0, len);

}

fr.close();

在上面的代码中,我们首先创建一个FileReader对象来读取文件“file.txt”中的字符数据。然后,我们创建一个缓冲数组来存储读取到的数据,并通过while循环不断读取数据,直到读到文件末尾。最后,我们通过System.out.print()将数据输出到控制台,并关闭文件输入流。

2. FileWriter

FileWriter是字符流的输出流类,用于将字符数据写入文件中。它的用法如下:

FileWriter fw = new FileWriter("file.txt");

String data = "hello world";

fw.write(data);

fw.close();

在上面的代码中,我们首先创建一个FileWriter对象来写入数据到文件“file.txt”中。然后,我们创建一个字符串“hello world”,并通过fw.write()方法将其写入文件中,并关闭文件输出流。

三、缓冲流函数

缓冲流是字节流和字符流的增强版,它可以提高数据读写的效率。Java提供了两种缓冲流:BufferedInputStream和BufferedOutputStream,以及BufferedReader和BufferedWriter。下面将介绍这两组缓冲流函数的使用方法。

1. BufferedInputStream和BufferedOutputStream

BufferedInputStream和BufferedOutputStream是字节流的缓冲流类,用于提高读写字节数据的效率。它们的用法如下:

FileInputStream fis = new FileInputStream("file.txt");

BufferedInputStream bis = new BufferedInputStream(fis);

FileOutputStream fos = new FileOutputStream("file.txt");

BufferedOutputStream bos = new BufferedOutputStream(fos);

byte[] buffer = new byte[1024];

int len;

while ((len = bis.read(buffer)) != -1) {

    bos.write(buffer, 0, len);

}

bis.close();

bos.close();

在上面的代码中,我们首先创建一个FileInputStream对象来读取文件“file.txt”中的数据,并将其放入一个BufferedInputStream对象中。然后,我们创建一个FileOutputStream对象来写入数据到文件“file.txt”中,并将其放入一个BufferedOutputStream对象中。接着,我们创建一个缓冲数组来存储读取到的数据,并通过while循环不断读取数据,直到读到文件末尾。最后,我们将数据写入文件中,并关闭文件输入流和输出流。

2. BufferedReader和BufferedWriter

BufferedReader和BufferedWriter是字符流的缓冲流类,用于提高读写字符数据的效率。它们的用法如下:

FileReader fr = new FileReader("file.txt");

BufferedReader br = new BufferedReader(fr);

FileWriter fw = new FileWriter("file.txt");

BufferedWriter bw = new BufferedWriter(fw);

String line;

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

    bw.write(line);

    bw.newLine();

}

br.close();

bw.close();

在上面的代码中,我们首先创建一个FileReader对象来读取文件“file.txt”中的数据,并将其放入一个BufferedReader对象中。然后,我们创建一个FileWriter对象来写入数据到文件“file.txt”中,并将其放入一个BufferedWriter对象中。接着,我们通过while循环不断读取每一行数据,并将其写入文件中,并在每行末尾添加一个换行符。最后,我们关闭文件输入流和输出流。

综上所述,Java中的输入输出流函数提供了多种读写数据的方法,可以用于操作文件、网络数据等。在使用这些函数时,我们需要先了解数据类型、读写方式等基本知识,然后按照相应的方法进行使用,才能有效地实现数据的读取和写入。