21xrx.com
2024-09-20 00:09:11 Friday
登录
文章检索 我的文章 写文章
Java文件读取和写入实验报告:用代码操作文件
2023-06-18 03:15:39 深夜i     --     --
Java 文件读取 文件写入

文章正文:

为了更好地掌握Java文件读取和写入的基础知识,我们进行了一次实验。在这个实验中,我们使用Java IO库中的File类和相关方法对文件进行操作。

首先,我们需要了解一些关于文件操作的基础。在Java中,File类可以表示文件或者目录的信息,包括文件名、路径等。要使用File类进行文件操作,我们需要依次执行以下步骤:

1. 创建File对象,可以通过文件的路径或者文件名来创建

File file = new File("D:\\test.txt");

2. 判断文件是否存在,如果不存在则创建

if (!file.exists()) {

  file.createNewFile();

}

3. 创建文件读写的流对象,可以通过FileInputStream、FileOutputStream、FileReader、FileWriter等类创建

FileInputStream fis = new FileInputStream(file);

FileOutputStream fos = new FileOutputStream(file);

FileReader fr = new FileReader(file);

FileWriter fw = new FileWriter(file);

4. 使用流对象进行读取和写入操作,可以使用read、readLine、write、flush、close等方法

byte[] content = new byte[1024];

int len = -1;

while ((len = fis.read(content)) != -1) {

  System.out.println(new String(content, 0, len));

}

5. 关闭流对象,释放资源

fis.close();

fos.close();

fr.close();

fw.close();

接下来,我们编写了一个小程序,实现了对文件的读取和写入操作:

代码示例:


import java.io.*;

public class FileOperation {

  public static void main(String[] args) throws Exception {

   File file = new File("D:\\test.txt");

   if (!file.exists()) {

     file.createNewFile();

   }

   FileOutputStream fos = new FileOutputStream(file);

   OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

   BufferedWriter bw = new BufferedWriter(osw);

   bw.write("这是一行测试数据");

   bw.newLine();

   bw.write("这是第二行测试数据");

   bw.flush();

   bw.close();

   osw.close();

   fos.close();

   FileInputStream fis = new FileInputStream(file);

   InputStreamReader isr = new InputStreamReader(fis, "UTF-8");

   BufferedReader br = new BufferedReader(isr);

   String line;

   while ((line = br.readLine()) != null) {

     System.out.println(line);

   }

   br.close();

   isr.close();

   fis.close();

  }

}

这段程序实现了向文件中写入两行数据,然后再从文件中读取并输出这两行数据。在写入和读取过程中,我们使用了BufferedWriter、BufferedReader、OutputStreamWriter、InputStreamReader等类。

通过这次实验,我们更好地掌握了Java文件读取和写入的基础知识,学会了如何使用File类和相关方法进行操作文件。在以后的学习中,我们可以根据实际需求继续深入研究。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复