누군가이 문제를 도와 줄 수 있습니까? 저는 바이너리 I/O 클래스에별로 좋지 않습니다.바이너리 I/O 클래스 (바이너리 데이터 파일의 모든 정수 합계)
Exercise 13b_1.dat라는 이진 데이터 파일이 DataOutputStream에서 writeInt (int)를 사용하여 만들어 졌다고 가정합니다. 이 파일에는 불특정 다수의 정수가 들어 있습니다. 정수 합계를 찾는 프로그램을 작성하십시오.
누군가이 문제를 도와 줄 수 있습니까? 저는 바이너리 I/O 클래스에별로 좋지 않습니다.바이너리 I/O 클래스 (바이너리 데이터 파일의 모든 정수 합계)
Exercise 13b_1.dat라는 이진 데이터 파일이 DataOutputStream에서 writeInt (int)를 사용하여 만들어 졌다고 가정합니다. 이 파일에는 불특정 다수의 정수가 들어 있습니다. 정수 합계를 찾는 프로그램을 작성하십시오.
다음은 간단한 해결책입니다.
FileInputStream fis = new FileInputStream("13b_1.dat");
DataInputStream dis = new DataInputStream(fis);
int count = 0;
try {
while (true) {
dis.readInt();
count++;
}
} catch (EOFException e) {}
System.out.println("There are " + count + " integers.");
효율성을 위해 한 정수는 4 바이트이므로 한 묶음을 읽고 4 바이트 씩 나눌 수 있습니다.
프로그래밍은 주로 바이너리로 재생되며, 전 세계에 항상 있습니다. 그래서 뭔가를 시도하고, 당신에게 불분명 한 세부 사항에 대해 물어보십시오. – ruslik
힌트 : "writeInt"라는 메서드로 작성된 것을 읽는 데 어떤 방법을 사용한다고 생각합니까? –