用Java语言解析一个C:\input.txt文件中的价格数据,并计算总价格,将其总价格写入到D:\output.txt文件中。(20分) 例如:若input.txt文件内容如下: 商品列表: 电视机,2567元/台 洗衣机,3262元/台 冰箱,6573元/台 则output.txt文件内容为:所有商品总价格为12402
时间: 2024-03-06 22:48:29 浏览: 103
Java读文件,可分析数据并计算平均值
3星 · 编辑精心推荐
好的,下面是Java语言的解决方案:
```java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PriceParser {
public static void main(String[] args) {
String inputFile = "C:\\input.txt";
String outputFile = "D:\\output.txt";
int totalPrice = 0;
try (BufferedReader br = new BufferedReader(new FileReader(inputFile))) {
String line;
Pattern pattern = Pattern.compile("\\d+");
while ((line = br.readLine()) != null) {
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
totalPrice += Integer.parseInt(matcher.group());
}
}
} catch (IOException e) {
e.printStackTrace();
}
try (BufferedWriter bw = new BufferedWriter(new FileWriter(outputFile))) {
bw.write("所有商品总价格为" + totalPrice);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个代码中,我们首先定义了输入和输出文件的路径,以及一个变量`totalPrice`来存储价格总和。然后,我们使用`BufferedReader`来读取input.txt文件中的每一行。在每一行中,我们使用正则表达式`\\d+`来匹配所有的数字,并将它们转换为整数并加到`totalPrice`中。最后,我们使用`BufferedWriter`将`totalPrice`写入到output.txt文件中。
请注意,在Java中,反斜杠`\`是一个特殊字符,需要用两个反斜杠`\\`来表示。因此,在正则表达式中,我们使用了`\\\\d+`来匹配数字。
希望这个代码对您有所帮助!
阅读全文