0
프로그램에서 나는 숙제를 쓰고 있는데 read()
스트림을 사용하는 배열로 바이트를 읽는 FileInputStream
이 있습니다. 내 프로그램에서 반환 값을 전혀 사용하지 않는다. 관심이 없기 때문이다.FileInputStream.read가 내 바이트 배열을 어떻게 바꿀 수 있습니까?
그러나 실제로 배열을 수정하는 방법이 궁금합니다. 나는 많은 stackoverflow 게시물을 통해 자바가 참조가 아닌 값으로 전달된다는 것을 보여 주었고 심지어 간단한 프로그램으로 직접 증명했다.
이 방법으로 내 바이트 배열을 어떻게 수정합니까?
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();
}
전화가 의미하지 않는 개체 수 ' 돌연변이가 생겼다. [이 답변] (http://stackoverflow.com/a/40523/3824919)에서 설명합니다. – Tom
변수 bytes는 실제로 배열 객체에 대한 참조입니다. 메서드에 배열을 전달할 때 참조가 참조하는 실제 배열이 아닌 참조를 복사합니다. –