gpt4 book ai didi

java I/O 尝试使用二进制数据参数的资源吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:20 24 4
gpt4 key购买 nike

我对读取和写入二进制数据的参数感到相当困惑。当读取和写入包含 ASCII 字符的字节时,我知道格式类似于 try(FileInputStream fin = new FileInputStream(args[0])) 。其中主要是控制台参数。

但我发现,对于尝试使用资源来读取和写入二进制数据,其

try(DataInputStream dataIn = new DataInputStream(new FileInputStream("testdata"))) &

try(DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("testdata"))

为什么new FileInputStream("testdata")这样写?为什么它被创建为内部对象以及“testdata”意味着什么?

最佳答案

I/O 库可能会非常困惑,因为不同的通信有不同的需求。该架构旨在尽可能保持共同点。各种子类和包装类要么添加特性(例如缓冲),要么添加处理(例如文本编码/解码或数据类型转换)。

(有时架构看起来过于支离 splinter ,因为每个类添加的内容太少,需要两到三个类才能完成非常常见的事情。常用的第 3 方库可以使其变得更容易。)

这样想,如果您拥有的对象在某些方面很尴尬,请在库中找到使其更容易以您需要的方式使用的类。您没有显示任何执行任何操作的代码,因此我无法指出使用您提到的类的具体优势。

“testdata”将是操作系统向用户的 Java 作为"file"呈现的名称。在常见情况下,它是文件的名称,位于程序的当前工作目录中。哪个目录可能取决于您的用户启动程序的方式。 (也许您希望文件名有扩展名。”

提示:使用提供 JavaDoc 的 IDE

提示:使用允许重构(尤其是提取局部变量)的 IDE。这让你有机会找出那些令你困惑的表达式并给它们命名。

关于java I/O 尝试使用二进制数据参数的资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51907526/

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