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

使用Java中的IO函数进行文件读写操作

发布时间:2023-05-23 22:06:41

Java中的IO函数提供了大量的工具来进行文件读写操作,其中最常用的是InputStream和OutputStream。InputStream和OutputStream是Java中最基本的IO类,它们分别用于读取和写入二进制数据。下面将介绍Java中如何使用这两个类进行文件读写操作。

1. 写入文件

Java中可以使用OutputStream类来进行文件写入操作,使用方法如下:

OutputStream out = new FileOutputStream("file.txt");
out.write("Hello World".getBytes());
out.close();

上面的代码中,我们先创建了一个OutputStream对象,然后使用FileOutputStream来初始化,这里写入的文件名为file.txt。接着使用write方法写入了一个字符串,该方法需要将字符串转换为字节数组才能写入。最后使用close方法关闭输出流。

2. 读取文件

Java中可以使用InputStream类来进行文件读取操作,使用方法如下:

InputStream in = new FileInputStream("file.txt");
byte[] buffer = new byte[1024];
int len = in.read(buffer);
String str = new String(buffer, 0, len);
in.close();
System.out.println(str);

上面的代码中,我们首先创建一个InputStream对象,然后使用FileInputStream来初始化,该输入流读取的文件名为file.txt。接着创建了一个byte数组作为缓冲区,并使用read方法来读取文件中的内容。该方法返回实际读取的字节数,我们使用这个字节数来构造一个字符串。最后使用close方法关闭输入流,并将读取到的内容输出到控制台中。

3. 字符流

上面介绍了Java中的InputStream和OutputStream类,它们是二进制IO流,可用于读写文本文件,但在处理文本文件时,使用Java中的字符流更加方便和易懂。Java中的字符流有两个基本的类:Reader和Writer。代码如下:

BufferedReader br = new BufferedReader(new FileReader("file.txt"));
String line;
while ((line = br.readLine()) != null) {
    System.out.println(line);
}
br.close();

上面的代码中,我们使用BufferedReader类来读取文件,这个类可以通过构造函数来指定输入流,这里使用FileReader。然后使用readLine方法读取文件中的每一行,并输出到控制台上。最后使用close方法关闭输入流。

4. 带缓冲区的输入输出流

为了提高读写效率,Java中还提供了带缓冲区的输入输出流BufferedInputStream和BufferedOutputStream。这两个类底层使用二进制流进行读写,但是通过给流添加一个缓冲区,大大提高了效率。使用方法与上面介绍的InputStream和OutputStream类相同。

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("file.txt"));
byte[] buffer = new byte[1024];
int len = bis.read(buffer);
String str = new String(buffer, 0, len);
bis.close();
System.out.println(str);

上面的代码中,我们使用了BufferedInputStream类来读取文件,该类使用了一个大小为1024的缓冲区。同时,我们也可以使用BufferedOutputStream类来进行文件写入操作。

Java中的IO类提供了多种方式来进行文件读写操作,开发者可以根据自己的需求选择适合的方法。无论是使用基本的InputStream和OutputStream类,还是使用带缓冲区的类或字符流类,都可以很好地满足大部分的读写操作需求。