Ubuntu 20.04의 Java 파일 입력 스트림

Ubuntu 20 04ui Java Pail Iblyeog Seuteulim

“이 기사에서는 Java Input Stream 클래스를 사용하여 파일에서 바이트 배열로 데이터를 읽는 다양한 방법에 대해 논의할 것입니다. 이 클래스는 파일에서 정렬된 바이트 스트림을 나타냅니다. Java 입력 스트림 클래스에는 read(), available(), skip() 및 close() 메소드와 같이 일반적으로 사용되며 이 기사에서 논의할 여러 함수가 있습니다. 이러한 메서드는 bin 또는 txt 파일과 같은 확장자가 다른 파일을 읽는 데 사용되며 파일의 어느 지점에서나 정보를 가져오도록 변경할 수 있습니다. 이 기사에서는 Ubuntu 20.04 환경에서 이러한 방법을 구현할 것입니다.

File Input Stream 클래스에는 파일에서 데이터를 가져오는 데 매우 유용한 메서드가 더 많이 있습니다. 그 중 일부는 int read(byte[] b)이고, 이 함수는 입력 스트림에서 최대 b.length 바이트 길이의 데이터를 읽습니다. File Channel은 channel()을 얻습니다: 파일 입력 스트림에 연결된 특정 File Channel 객체는 그것을 사용하여 반환됩니다. Finalize()는 파일 입력 스트림에 대한 참조가 더 이상 없을 때 close() 함수가 호출되도록 하는 데 사용됩니다.'

예제 01: 입력 스트림 클래스의 read() 및 close() 메서드를 사용하여 텍스트 파일에서 단일 바이트 읽기

이 예제는 파일 입력 스트림을 사용하여 단일 문자를 읽고 내용을 인쇄합니다. 아래와 같은 내용의 'file.txt'라는 파일이 있다고 가정합니다.





위에 표시된 내용과 함께 'file.txt'라는 파일이 있다고 가정합니다. 이제 파일의 첫 번째 문자를 읽고 인쇄해 보겠습니다.



먼저 java.io를 가져와야 합니다. 파일 입력 스트림을 구성하기 위한 파일 입력 스트림 패키지. 그런 다음 변수 'f'에 지정된 파일(file.txt)에 연결될 파일 입력 스트림의 새 개체를 만듭니다.

이 예제에서는 파일에서 단일 바이트를 읽고 변수 'I'에 저장하는 데 사용되는 Java 파일 입력 스트림 클래스의 'int read()' 메서드를 사용합니다. 다음으로 'System.out.print(char(i))'는 해당 바이트에 해당하는 문자를 표시합니다.



f.close() 메서드는 파일과 스트림을 닫습니다. 'L' 텍스트의 첫 글자만 인쇄되는 것을 볼 수 있으므로 앞서 말한 스크립트를 빌드하고 실행한 후 다음 출력을 얻습니다.

예제 02: 입력 스트림 클래스의 read() 및 close() 메서드를 사용하여 텍스트 파일의 모든 내용 읽기

이 예에서는 텍스트 파일의 모든 내용을 읽고 표시합니다. 아래 그림과 같이:

다시 한 번 java.io를 가져올 것입니다. 파일 입력 스트림을 구성하기 위한 파일 입력 스트림 패키지.

먼저 파일의 첫 번째 바이트를 읽고 while 루프 안에 해당 문자를 표시합니다. while 루프는 남은 바이트가 없을 때까지, 즉 파일의 텍스트가 끝날 때까지 실행됩니다. 12행은 다음 바이트를 읽고 루프는 파일의 마지막 바이트까지 계속됩니다.

위의 코드를 컴파일하고 실행하면 다음과 같은 결과를 얻을 수 있습니다. 보시다시피 'Lorep Ipsum' 파일의 전체 텍스트가 터미널에 표시됩니다.

예제 03: 입력 스트림 클래스의 available() 메서드를 사용하여 텍스트 파일의 사용 가능한 바이트 수 확인

이 예에서는 파일 입력 스트림의 'available()' 함수를 사용하여 파일 입력 스트림의 기존 바이트 수를 결정합니다.

먼저 다음 코드를 사용하여 'a'라는 파일 입력 스트림 클래스의 개체를 생성했습니다. 5행에서 'available()' 메서드를 사용하여 파일에서 사용 가능한 총 바이트 수를 확인하고 표시했습니다. 그런 다음 6행부터 8행까지 'read()' 함수를 세 번 사용했습니다. 이제 9행에서 'available()' 메서드를 다시 사용하여 나머지 바이트를 확인하고 표시합니다.

코드를 컴파일하고 실행한 후 출력의 첫 번째 줄에 파일에서 사용 가능한 총 바이트 수가 표시되는 것을 볼 수 있습니다. 다음 줄은 코드 끝에서 사용할 수 있는 바이트 수를 보여줍니다. 이는 시작에서 사용할 수 있는 바이트보다 3이 적습니다. 이는 코드에서 read 메서드를 세 번 사용했기 때문입니다.

예제 04: 입력 스트림 클래스의 skip() 메서드를 사용하여 특정 지점에서 데이터를 읽기 위해 텍스트 파일의 바이트 건너뛰기

이 예제에서는 입력 스트림에서 주어진 데이터 바이트 수를 무시하고 무시하는 데 사용되는 파일 입력 스트림의 'skip(x)' 메서드를 사용할 것입니다.

아래 코드에서 먼저 파일 입력 스트림을 만들고 변수 'a'에 저장했습니다. 다음으로 파일의 처음 5바이트를 건너뛰는 'a.skip(5)' 메서드를 사용했습니다. 다음으로 while 루프 내에서 'read()' 메서드를 사용하여 파일의 나머지 문자를 인쇄했습니다. 마지막으로 'close()' 메서드로 파일 입력 스트림을 닫았습니다.

아래는 코드를 컴파일하고 실행한 후 터미널의 스크린샷입니다. 보다시피 'skip()' 메서드를 사용하여 처음 5바이트를 건너뛰었기 때문에 'Ipsum'만 표시됩니다.

결론

이 기사에서 우리는 File Input Stream 클래스의 사용법과 다양한 메소드에 대해 논의했습니다. read(), available(), skip(), close(). 이 메서드를 사용하여 read() 및 close() 메서드를 사용하여 파일의 첫 번째 요소를 읽습니다. 그런 다음 반복적인 접근 방식과 동일한 방법을 사용하여 전체 파일을 읽습니다. 그런 다음 available() 메서드를 사용하여 파일 시작 및 완료 시 존재하는 바이트 수를 결정했습니다. 그런 다음 skip() 메서드를 사용하여 파일을 읽기 전에 몇 바이트를 건너뛰어 필요한 특정 데이터를 얻을 수 있었습니다.