Java中如何使用File函数来读取和写入文件?
在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函数来读取和写入文件的方法。在实际应用中,还需要注意处理一些异常情况,比如文件不存在、文件不可读等,以确保程序的正常运行。
