Java中的File函数:文件读写操作实例详解
在Java中,我们可以利用File函数来进行文件读写操作。File函数是Java的标准类库之一,用于处理文件和目录的相关操作。本篇文章将详细介绍Java中的File函数在文件读写方面的应用。
1. 文件写入操作
在Java中,我们可以使用FileWriter(字符流)和FileOutputStream(字节流)两种方式进行文件写入。这里我们分别介绍这两种方式。
(1)使用FileWriter进行文件写入
FileWriter类继承了Writer类,使得我们能够在文件中写入字符。具体的写入操作如下:
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterDemo {
public static void main(String[] args) throws IOException {
String filePath = "D:\\test.txt"; //文件路径
String content = "Hello Java"; //写入的内容
FileWriter fileWriter = new FileWriter(filePath);
fileWriter.write(content);
fileWriter.close();
}
}
程序的执行过程如下:
- 从java.io包中导入FileWriter和IOException类。
- 定义文件的路径和要写入的数据。
- 通过FileWriter(filePath)创建一个FileWriter对象,它会在文件中写入字符。如果文件不存在则创建文件。如果文件已存在,则覆盖文件内容。
- 使用write()方法将数据写入文件。
- 使用close()方法释放文件资源。
(2)使用FileOutputStream进行文件写入
FileOutputStream类是Java对于文件输出流的实现,我们可以使用它将数据写入文件。具体的写入操作如下:
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
public static void main(String[] args) throws IOException {
String filePath = "D:\\test.txt"; //文件路径
String content = "Hello Java"; //写入的内容
FileOutputStream fileOutputStream = new FileOutputStream(filePath);
byte[] bytes = content.getBytes();
fileOutputStream.write(bytes);
fileOutputStream.close();
}
}
程序的执行过程如下:
- 从java.io包中导入FileOutputStream和IOException类。
- 定义文件的路径和要写入的数据。
- 通过FileOutputStream(filePath)创建一个FileOutputStream对象,它会在文件中写入字节。如果文件不存在则创建文件。如果文件已存在,则覆盖文件内容。
- 将输入的字符串转化为字节数组。
- 使用write()方法将数据写入文件。
- 使用close()方法释放文件资源。
2. 文件读取操作
在Java中,我们可以使用FileReader(字符流)和FileInputStream(字节流)两种方式进行文件读取。这里我们分别介绍这两种方式。
(1)使用FileReader进行文件读取
FileReader类继承了Reader类,使得我们能够从文件中读取字符。具体的读取操作如下:
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo {
public static void main(String[] args) throws IOException {
String filePath = "D:\\test.txt"; //文件路径
FileReader fileReader = new FileReader(filePath);
String result = "";
int ch;
while ((ch = fileReader.read()) != -1) {
result += (char) ch;
}
System.out.println(result);
fileReader.close();
}
}
程序的执行过程如下:
- 从java.io包中导入FileReader和IOException类。
- 定义文件的路径。
- 通过FileReader(filePath)创建一个FileReader对象,它会从文件中读取字符。
- 使用read()方法将数据从文件中读取进程内存。
- 使用close()方法释放文件资源。
- 注意:这里read()返回的类型是int,而不是char。如果文件中没有读取到数据就返回-1,否则返回0到65535之间的整数。
(2)使用FileInputStream进行文件读取
FileInputStream类是Java对于文件读取流的实现,我们可以使用它将数据从文件中读取。具体的读取操作如下:
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo {
public static void main(String[] args) throws IOException {
String filePath = "D:\\test.txt"; //文件路径
FileInputStream fileInputStream = new FileInputStream(filePath);
byte[] bytes = new byte[1024];
int length = fileInputStream.read(bytes);
String result = new String(bytes, 0, length);
System.out.println(result);
fileInputStream.close();
}
}
程序的执行过程如下:
- 从java.io包中导入FileInputStream和IOException类。
- 定义文件的路径。
- 通过FileInputStream(filePath)创建一个FileInputStream对象,它会从文件中读取字节。
- 创建一个字节数组,用于保存读取出来的数据。
- 使用read()方法将数据从文件中读取进程内存。返回值是读取的字节数。
- 将读取出来的字节数组转化为字符串。
- 使用close()方法释放文件资源。
3. 总结
本文介绍了Java中的File函数在文件读写方面的应用。使用FileWriter和FileOutputStream进行写入操作,使用FileReader和FileInputStream进行读取操作。需要注意的是在使用FileWriter和FileOutputStream进行写入时会覆盖文件内容,如果需要在文件末尾进行追加操作,可以使用FileWriter的另一个构造函数或BufferedWriter类。在使用完文件流后需要用close()方法释放文件资源,否则会造成资源泄露。
