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

Java中如何使用File函数来读取和写入文件?

发布时间:2023-06-05 13:13:22

在Java中,File类是一个用于文件和目录路径名的抽象表示的类。File类包含了大量操作文件和路径的方法,其中包括了创建、删除、重命名和遍历目录和目录树的方法,还有读取和写入文件的方法。在这篇文章中,我们将重点关注如何使用File函数来读取和写入文件。

一、使用File函数读取文件

1.读取文件内容

使用File函数读取文件内容的一般步骤如下:

① 使用File类创建一个文件对象,传入需要读取的文件路径和文件名。

File file = new File("C:\\test\\test.txt");

② 创建FileInputStream对象,将File对象传入构造器中。

FileInputStream fis = new FileInputStream(file);

③ 创建BufferedInputStream对象,将FileInputStream对象传入构造器中。

BufferedInputStream bis = new BufferedInputStream(fis);

④ 创建byte数组,用来存储读取到的数据。

byte[] bs = new byte[1024];

⑤ 使用BufferedInputStream对象的read()方法读取数据,并将读取到的数据存储到byte数组中。

int len = 0;

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

    System.out.print(new String(bs, 0, len));

}

⑥ 关闭输入流,释放资源。

bis.close();

fis.close();

2.获取文件内容长度

如果需要获取文件内容的长度,可以使用File对象的length()方法来获取。

File file = new File("C:\\test\\test.txt");

long length = file.length();

3.读取文件的只读标志

如果需要读取文件的只读标志,可以使用File对象的canRead()方法来获取。该方法返回一个布尔值,表示文件是否可读。

File file = new File("C:\\test\\test.txt");

boolean canRead = file.canRead();

4.读取文件的创建时间、修改时间等属性

如果需要获取文件的创建时间、修改时间等属性,可以使用File对象的lastModified()方法、isHidden()方法等方法来获取。

File file = new File("C:\\test\\test.txt");

long createTime = file.lastModified(); // 获取文件创建时间

boolean isHidden = file.isHidden(); // 文件是否隐藏

二、使用File函数写入文件

1.写入文本文件

使用File函数写入文本文件的一般步骤如下:

① 使用File类创建一个文件对象,传入需要写入的文件路径和文件名。

File file = new File("C:\\test\\test.txt");

② 创建FileOutputStream对象,将File对象传入构造器中。

FileOutputStream fos = new FileOutputStream(file);

③ 创建OutputStreamWriter对象,将FileOutputStream对象传入构造器中。如果需要指定字符集,可以在构造器中传入指定的字符集名称。

OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");

④ 创建BufferedWriter对象,将OutputStreamWriter对象传入构造器中。

BufferedWriter bw = new BufferedWriter(osw);

⑤ 使用BufferedWriter对象的write()方法向文件中写入内容。

bw.write("Hello World!");

⑥ 关闭输出流,释放资源。

bw.close();

osw.close();

fos.close();

2.写入二进制文件

使用File函数写入二进制文件的一般步骤如下:

① 使用File类创建一个文件对象,传入需要写入的文件路径和文件名。

File file = new File("C:\\test\\test.bin");

② 创建FileOutputStream对象,将File对象传入构造器中。

FileOutputStream fos = new FileOutputStream(file);

③ 创建DataOutputStream对象,将FileOutputStream对象传入构造器中。

DataOutputStream dos = new DataOutputStream(fos);

④ 使用DataOutputStream对象的write()方法向文件中写入内容。

dos.write(1);

dos.writeBoolean(true);

dos.writeDouble(3.14);

⑥ 关闭输出流,释放资源。

dos.close();

fos.close();

以上就是使用File函数来读取和写入文件的方法。在实际应用中,还需要注意处理一些异常情况,比如文件不存在、文件不可读等,以确保程序的正常运行。