做个开心的码农 发表于 2024-12-6 08:17:45

java

实验八:文件输入输出流
实验目的
1、掌握java I/O的基本原理。
2、掌握标准输入输出流和Scanner类的基本使用方法。
3、掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。
实验内容
1、从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。
算法描述及实验步骤:

源代码:

实验运行截图:

2、解析一个文件中的价格数据,并计算平均价格,该文件的内容如下:
商品列表:
电视机,2567/台
洗衣机,3562/台
冰箱,6573/台
算法描述及实验步骤:

源代码:

实验运行截图:




实验小结




FishC 发表于 2024-12-6 08:18:01

实验八:文件输入输出流

实验目的

[*]掌握java I/O的基本原理。
[*]掌握标准输入输出流和Scanner类的基本使用方法。
[*]掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。


实验内容

1. 从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。

算法描述及实验步骤:

[*]使用Scanner类从键盘读取输入。
[*]将输入内容写入文件,直到输入“#”结束。
[*]使用FileReader和BufferedReader从文件中读取内容。
[*]将读取的内容输出到屏幕。


源代码:

import java.io.*;
import java.util.Scanner;

public class FileIOExample {
    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      StringBuilder inputContent = new StringBuilder();
      System.out.println("请输入多行字符串,以#结束:");

      while (true) {
            String line = scanner.nextLine();
            if (line.equals("#")) {
                break;
            }
            inputContent.append(line).append(System.lineSeparator());
      }

      try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
            writer.write(inputContent.toString());
      } catch (IOException e) {
            e.printStackTrace();
      }

      System.out.println("文件内容:");
      try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
      } catch (IOException e) {
            e.printStackTrace();
      }
    }
}


实验运行截图:
path_to_image1.png

2. 解析一个文件中的价格数据,并计算平均价格,该文件的内容如下:

商品列表:
电视机,2567/台
洗衣机,3562/台
冰箱,6573/台


算法描述及实验步骤:

[*]读取文件内容。
[*]解析每行数据,提取价格。
[*]计算价格总和和平均值。
[*]输出平均价格。


源代码:

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class PriceCalculator {
    public static void main(String[] args) {
      List<Integer> prices = new ArrayList<>();
      try (BufferedReader reader = new BufferedReader(new FileReader("prices.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] parts = line.split(",");
                String pricePart = parts.split("/");
                prices.add(Integer.parseInt(pricePart));
            }
      } catch (IOException e) {
            e.printStackTrace();
      }

      int sum = prices.stream().mapToInt(Integer::intValue).sum();
      double average = sum / (double) prices.size();
      System.out.println("平均价格:" + average);
    }
}


实验运行截图:
path_to_image2.png

实验小结
通过本次实验,掌握了Java I/O的基本操作,能够使用Scanner类进行输入,使用FileReader和FileWriter进行文件读写,并能解析文件内容进行数据处理。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: java