gpt4 book ai didi

java - 关于在 Java 中使用 OutputStream 的说明?

转载 作者:行者123 更新时间:2023-11-30 07:14:02 25 4
gpt4 key购买 nike

我正在阅读这个article .它有以下片段

OutputStream output = new FileOutputStream("c:\\data\\output-text.txt");

while(moreData) {
int data = getMoreData();
output.write(data);
}
output.close();

提到:

OutputStreams are used for writing byte based data, one byte at a time. The write() method of an OutputStream takes an int which contains the byte value of the byte to write.

假设我正在将字符串 Hello World 写入文件,因此字符串中的每个字符都使用 getMoreData() 转换为 int方法。它是如何写的?作为 output-text.txt 中的字符或字节?如果它以字节形式写入,如果我必须将字节“重新转换”为字符,以字节形式写入的优势是什么?

最佳答案

每个字符(以及存储在文件中的几乎所有内容)都是一个字节/字节。例如:

  • 小写字母“a”写为十进制值为 97 的一个字节。
  • 数字“1”写为一个字节,十进制值为 49

一旦信息写入文件,就没有数据类型的概念,一切都只是字节流。重要的是用于将信息存储到文件中的编码

看看ascii table ,这对初学者学习信息编码非常有用。

为了说明这一点,创建一个包含文本“hello world”的文件

$ echo 'hello world' > hello.txt

然后使用od命令输出写入文件的字节:

$ od -td1 hello.txt
0000000 104 101 108 108 111 32 119 111 114 108 100 10
0000014

上面的意思是,在文件开头的地址 0000000 处,我看到一个十进制值为 104 的字节(即字符“h”),然后是一个十进制值为 101 的字节(即字符“e”)和等等..

关于java - 关于在 Java 中使用 OutputStream 的说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18731286/

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