gpt4 book ai didi

java - 将 double 写入文件的问题,什么都不写

转载 作者:行者123 更新时间:2023-11-29 04:23:26 25 4
gpt4 key购买 nike

在将 double 写入文本文件时,我似乎遗漏了一些东西,当我检查文件时,只存在空白。当我从文件中读取并使用 System.out.println() 打印时;它什么都不打印...这里出了什么问题?我需要做一些转换吗?

import java.io.*;
import javax.swing.JOptionPane;

public class ReadCalcAveragePrint {

double firstNum;
double secondNum;
double average;

public void readFile() {

try {
File f = new File("numbers.txt");
BufferedReader br = new BufferedReader(new FileReader(f));
String one = br.readLine();
String two = br.readLine();
firstNum = Double.parseDouble(one);
secondNum = Double.parseDouble(two);

average = (firstNum + secondNum) / 2;
JOptionPane.showMessageDialog(null, average, "title", JOptionPane.PLAIN_MESSAGE);

} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}

}

public void writeFile() {
try {
File f = new File("result.txt");
FileOutputStream fos = new FileOutputStream(f);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeDouble(average);
dos.flush();
fos.close();
System.out.println("Printed.");
} catch (Exception e) {
e.printStackTrace();
System.out.println(e);

}
}

public void readResult() {

try {
File f = new File("result.txt");
BufferedReader br = new BufferedReader(new FileReader(f));
String one = br.readLine();
System.out.println(one);

} catch (Exception e) {
e.printStackTrace();
System.out.println(e);
}

}

public static void main(String[] args) {

new ReadCalcAveragePrint().readFile();
new ReadCalcAveragePrint().writeFile();
new ReadCalcAveragePrint().readResult();
}
}

最佳答案

main 中,您创建了 3 个不同的对象,只有第一个对象包含您从文件中读取的数字。

您应该只创建并重用一个对象:

public static void main(String[] args) {
ReadCalcAveragePrint obj = new ReadCalcAveragePrint();
obj.readFile();
obj.writeFile();
obj.readResult();
}

您还使用 DataOutputStream 编写结果文件,这意味着以二进制形式写入数据。如果您只想将结果保存为文本,您应该改用 FileWriter:

File f = new File("result.txt");
FileWriter fw = new FileWriter(f);
fw.write(String.valueOf(average));
fw.close();

关于java - 将 double 写入文件的问题,什么都不写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47722219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com