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

Java中的文件函数:如何使用Java内置的文件函数来读写文件?

发布时间:2023-06-20 23:28:53

Java是一门跨平台编程语言,常见于开发Web应用程序、桌面应用程序和移动应用程序等领域。在Java中,文件处理是非常必要的,而文件IO(Input/Output)就是其中不可或缺的一部分,Java提供了一系列内置API函数,用于文件的读写等操作。

文件读取

在Java中,使用FileInputStream来读取文件内容,该类继承了InputStream类,可以读取字节流,常用的方法如下:

1. read():不带参数,用于读取文件中的一个字节。

2. read(byte[] b):将文件中的数据读取到参数b所指的字节数组中。

3. read(byte[] b, int off, int len):将文件中指定的数据读取到参数b所指的字节数组中,从off位置开始存放,最多存放len个字节。

下面是一个简单的文件读取的样例代码:

import java.io.*;
public class fileRead {
    public static void main(String args[]) {
        try {
            FileInputStream fis = new FileInputStream("test.txt");
            int size = fis.available(); // 获取文件大小
            byte[] b = new byte[size];
            fis.read(b);
            System.out.println(new String(b));
            fis.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

文件写入

文件写入的方法通常使用FileOutputStream类来实现,该类同样继承了OutputStream类,可以写入字节流,常用的方法如下:

1. write(int b):将一个字节写入文件。

2. write(byte[] b):将全部的字节数组写入文件。

3. write(byte[] b, int off, int len):将指定的字节数组写入文件,从off位置开始,写入len个字节。

4. flush():将缓冲区中的数据写入文件。(该方法在每次写入数据后通常需要调用)

下面是一个简单的文件写入的样例代码:

import java.io.*;
public class fileWrite {
    public static void main(String args[]) {
        try {
            FileOutputStream fos = new FileOutputStream("test.txt");
            String str = "Hello, World!";
            byte[] b = str.getBytes();
            fos.write(b);
            fos.flush();
            fos.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

文件复制

文件复制在实际应用中是非常常见的操作,Java提供了类FileInputStream和FileOutputStream来实现文件复制。下面是一个简单的文件复制的样例代码:

import java.io.*;
public class fileCopy {
    public static void main(String args[]) {
        try {
            FileInputStream fis = new FileInputStream("input.txt");
            FileOutputStream fos = new FileOutputStream("output.txt");
            byte[] b = new byte[1]; // 1字节
            while (fis.read(b) != -1) {
                fos.write(b);
            }
            // 关闭打开的文件流
            fis.close();
            fos.close();
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

总结

在Java中,文件IO是非常必要的一部分,可以通过以上介绍的方法来实现文件的读写、复制等操作,在实际开发中,我们也可以结合其他框架和工具,实现更加复杂的文件处理操作。