如何使用File类读取或写入文件
File类是Java.io包中的一个类,它表示文件或者目录的路径名,可以通过File类来读取、创建、删除、修改文件或者目录。文件的读取和写入是常见的文件操作,下面我们来介绍如何使用File类来进行读取和写入文件。
1. 使用File类读取文件
首先需要创建一个File对象,表示要读取的文件。我们可以通过File类的构造器实现,可以传入文件路径名称或者File对象。比如下面的示例可以创建一个File对象,表示要读取的文件。
File file = new File("D:\\test.txt");
接着,我们需要创建一个FileInputStream对象,该对象表示要从文件中读取数据。可以通过FileInputStream的构造器来实现,需要传入对应的File对象。下面是示例代码:
FileInputStream fis = new FileInputStream(file);
文件读取是一次一次的读取,因此需要创建一个byte数组来存放读取到的数据。我们可以通过FileInputStream对象的read()方法来实现,它将返回每次读取的字节数,如果读取到文件结束,则返回-1。下面的代码实现了读取整个文件的操作。
byte[] bytes = new byte[1024];
int len = 0;
while ((len = fis.read(bytes)) != -1) {
String str = new String(bytes, 0, len);
System.out.println(str);
}
上面的代码将文件读取到byte数组中,并将其转换为String对象输出到控制台上。
2. 使用File类写入文件
写入文件和读取文件类似,需要创建一个File对象,表示要写入的文件,以及一个FileOutputStream对象,它表示要向文件中写入数据。同样,我们可以通过FileOutputStream类的构造器来创建一个对象,需要传入对应的File对象。下面是示例代码:
File file = new File("D:\\test.txt");
FileOutputStream fos = new FileOutputStream(file);
和文件读取类似,需要将要写入的数据转化为byte数组,然后通过FileOutputStream对象的write()方法写入到文件中。下面是示例代码:
String str = "hello world";
byte[] bytes = str.getBytes();
fos.write(bytes);
可以通过多次调用write()方法来写入多个数据,最后需要通过FileOutputStream的close()方法来关闭流,以释放资源。下面是示例代码:
fos.close();
总结:
使用File类可以方便地进行文件的读取和写入操作,在读取文件时可以使用FileInputStream类,写入文件时可以使用FileOutputStream类。需要注意的是,在写入文件时需要将数据转化为byte数组,并且最后需要手动关闭流。
