gpt4 book ai didi

java - 为什么这个 DataOutputStream 在我的名字后面打印乱码?

转载 作者:行者123 更新时间:2023-12-01 23:44:53 26 4
gpt4 key购买 nike

问题中的所有内容都在标题中。

输出中“我的名字”后面有很多乱码。

import java.io.*;

public class DOStry {

public static void main(String[] args) {

String file = "file.txt";
String stra = "my name";
int intb = 1;
double douc = 2.5;
char chad = 'f';

try
{

FileOutputStream fos = new FileOutputStream(file);
DataOutputStream dos = new DataOutputStream(fos);

dos.writeUTF(stra);
//i don't know why it prints gibberish after my name.
dos.writeInt(intb);
dos.writeDouble(douc);
dos.writeChar(chad);

dos.flush();
dos.close();

}
catch (IOException e)
{
System.out.println("IOException : " + e);
}

}
}

我不好,我错过了什么?我只是想学习 DataOutputStream。

最佳答案

DataOutputStream 用于打印二进制文件,而不是文本,您必须将其作为二进制文件读取才能理解它。您可以像阅读文本一样阅读其中的部分内容,但这并不意味着它就是文本。

我建议您执行以下操作。这些都可以作为文本阅读。

FileWriter fw = new FileWriter(file);
PrintWriter pw = new PrintWriter(fw);

pw.println(stra);
pw.println(intb);
pw.println(douc);
pw.println(chad);

dos.close();

简而言之,如果混合二进制和文本,您更有可能感到困惑。

关于java - 为什么这个 DataOutputStream 在我的名字后面打印乱码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17226694/

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