如何在Java中使用文件函数创建、读取和写入文件?
在Java中,文件操作是很常见的操作,如文件的创建、读取和写入。文件操作主要包括两个方面:文件路径的处理和文件流的操作。
1. 文件路径的处理
在Java中,文件路径有两种表达方式:绝对路径和相对路径。其中,绝对路径是从根目录开始的完整路径,相对路径是从当前目录开始的路径。
文件路径的处理涉及到的类主要有:
- File类:用于遍历文件系统中的文件和目录,并访问它们的属性。
- Path类:用于操作文件或目录的路径。它的实例包含着路径的一些元素,如路径的根目录、文件名、父目录、文件夹名等。
创建文件路径
创建File类实例时,需要传入路径参数。如果是相对路径,则会考虑当前工作目录,如果是绝对路径,则直接引用该路径。
例如:
File file = new File("file.txt"); //相对路径
File file = new File("c:/dev/file.txt"); //绝对路径
读取文件路径
可以通过File类中的getPath()方法获取文件路径,该方法返回一个字符串,代表该对象的路径。
例如:
File file = new File("file.txt");
String filePath = file.getPath();
System.out.println(filePath);
写入文件路径
可以通过File类的构造函数创建一个File实例,并指定文件路径。之后,可以使用File类的一些方法创建、删除、重命名文件等操作。
例如:
File file = new File("file.txt");
if (!file.exists()) { // 如果文件不存在就创建一个
file.createNewFile();
}
2. 文件流的操作
在Java中,文件流是在程序与文件系统之间传输数据的方式。Java提供了以下四种文件流:
- FileInputStream:读取文件内容的输入流。
- FileOutputStream:向文件输出数据的输出流。
- FileReader:读取字符文件内容的输入流。
- FileWriter:向字符文件输出数据的输出流。
创建文件流
创建文件流之前需要先创建File对象。创建文件流有两种方式:
- 以字节为单位读写文件:使用FileInputStream和FileOutputStream。
- 以字符为单位读写文件:使用FileReader和FileWriter。
例如:
// 以字节为单位读写文件
FileInputStream fis = new FileInputStream("file.txt");
FileOutputStream fos = new FileOutputStream("newFile.txt");
// 以字符为单位读写文件
FileReader fr = new FileReader("file.txt");
FileWriter fw = new FileWriter("newFile.txt");
读取文件流
通过read()方法调用读取文件内容,最后关闭文件输入流。
例如:
// 以字节为单位读写文件
FileInputStream fis = new FileInputStream("file.txt");
int n;
while ((n = fis.read()) != -1) {
System.out.print((char) n);
}
fis.close();
// 以字符为单位读写文件
FileReader fr = new FileReader("file.txt");
int n;
while ((n = fr.read()) != -1) {
System.out.print((char) n);
}
fr.close();
写入文件流
在Java中,可以通过write()方法向文件输出数据,最后关闭文件输出流。
例如:
// 以字节为单位读写文件
FileOutputStream fos = new FileOutputStream("newFile.txt");
for (byte b : "hello world".getBytes()) {
fos.write(b);
}
fos.close();
// 以字符为单位读写文件
FileWriter fw = new FileWriter("newFile.txt");
fw.write("hello world");
fw.close();
总结
Java中文件操作包括文件路径的处理和文件流的操作,其中文件路径的处理涉及到File类和Path类,文件流的操作包括作为输入流和输出流的四个抽象类FileInputStream、FileOutputStream、FileReader和FileWriter。对于文件流操作,需要按照如下四个步骤进行:
1. 创建文件流。
2. 读取文件内容或写入数据到文件。
3. 关闭文件流。
4. 处理异常。
