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