java
实验八:文件输入输出流实验目的
1、掌握java I/O的基本原理。
2、掌握标准输入输出流和Scanner类的基本使用方法。
3、掌握FileInputStream、FileOutStream、FileReader、FileWriter、BufferedReader 、BufferedWriter类的常用方法。
实验内容
1、从键盘输入多行字符串(以单行“#”结束输入),存入指定文件,再从文件中读取内容输出到屏幕。
算法描述及实验步骤:
源代码:
实验运行截图:
2、解析一个文件中的价格数据,并计算平均价格,该文件的内容如下:
商品列表:
电视机,2567/台
洗衣机,3562/台
冰箱,6573/台
算法描述及实验步骤:
源代码:
实验运行截图:
实验小结
实验八:文件输入输出流
实验目的
[*]掌握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]