gpt4 book ai didi

java - FileInputStream.read 如何更改我的字节数组?

转载 作者:行者123 更新时间:2023-12-01 09:14:08 25 4
gpt4 key购买 nike

在我正在写作业的程序中,我有一个 FileInputStream我正在使用 read() 将字节读取到数组中流的方法。我在程序中根本没有使用返回值,因为我对它不感兴趣。

但是,我想知道它实际上是如何修改我的数组的?昨晚我读了很多 stackoverflow 帖子,指出 Java 是按值传递,而不是按引用传递,我什至用一个简单的程序自己证明了这一点。

此方法如何修改我的字节数组?

try {
input = new FileInputStream(FileName);
bytes = new byte[input.available()];
input.read(bytes); // reads file in as bytes and stores into bytes
System.out.println(bytes[0]);


}catch(IOException e)
{
e.printStackTrace();
}

最佳答案

Java 将字节数组的引用传递给read方法按值。这意味着 read 方法无法使您的局部变量 bytes 指向不同的字节数组,但它可以更改您传递给它的字节数组的内容。

(如果 Java 是“按引用传递”,那么方法可以使局部变量指向不同的对象 - 这在 Java 中是不可能的)

关于java - FileInputStream.read 如何更改我的字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40700173/

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