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

如何使用File类读取或写入文件

发布时间:2023-06-11 12:25:58

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数组,并且最后需要手动关闭流。