bufferedreader 예제

위의 예에서는 mark() 메서드를 사용하여 방금 읽은 위치를 표시합니다. 값을 1로 부여하면 코드만 한 문자 앞으로 의 표시를 기억합니다. 첫 번째 공백이 아닌 문자를 보고 나면 전체 스트림을 다시 처리할 필요 없이 해당 문자를 다시 읽을 수 있기 때문에 편리합니다. 마크없이, 우리는 우리의 마지막 문자열에서 L을 잃게됩니다. 위의 코드 예제에서는 최대 5자 문자를 char 배열로 읽고 문자열을 생성합니다. 읽기 시도에서 문자를 읽지 않은 경우(예: 스트림의 끝에 도달한 경우) 빈 문자열을 반환하기만 하면 됩니다. 그래서 위의 예의 목적은 무엇인가. 기본적으로 콘솔에서 사용자 입력을 받은 다음 환영 메시지를 인쇄합니다. 코드의 각 부분을 자세히 볼 수 있습니다. 예제에서는 BufferedReader를 닫아야 하며, 그렇지 않으면 다른 프로세스에서 파일을 읽을 수 없는 잠금일 수 있습니다. 이 예제에서는 BufferedReader를 사용하는 보다 복잡한 예제를 다루게 됩니다.

이전 예제에서는 InputStreamReader를 생성자 인수로 사용했습니다. 이 예제에서는 FileReader를 사용합니다. 의도는 파일의 내용을 읽고 콘솔에 출력하는 것입니다. 나는 파일을 읽기 위해 스캐너를 사용하는 것을 선호하지만, BufferedReader를 사용하여 몇 가지 장점이 있었다. 아래 예제를 살펴보겠습니다: 다음 콘텐츠가 있는 텍스트 파일 c:/test.txt가 있다고 가정합니다. 이 파일은 우리의 예제 프로그램에 대한 입력으로 사용됩니다 – 위의 예에서, 우리는 일반적으로 키보드의 입력에 해당하는 System.in 읽고있습니다. 마찬가지로 소켓, 파일 또는 상상할 수 있는 유형의 텍스트 입력에서 읽기 위한 입력 스트림을 전달할 수 있습니다. 유일한 전제 조건은 적절한 InputStream 구현이 있다는 것입니다.

이러한 동작으로 인해 위의 예와 같이 BufferedReader를 반복하는 while 루프를 작성하는 것이 매우 일반적이며, 여기서는 먼저 Reader를 다음과 같이 사용하는 생성기를 사용하여 앞에서 설명한 대로 BufferedReader를 초기화했습니다. 메서드 인수. 우리는 우리의 BufferedReader를 초기화 한 후 우리는 System.out.print 메시지를 사용하여 인쇄 한 “당신의 이름을 입력: “기본적으로 그냥 악기로 키보드를 사용하여 콘솔에 자신의 이름을 입력하는 사용자를 요청. 그 후 “시작”의 초기 내용이 있는 StringBuffer 개체를 초기화했습니다. 이에 대한 자세한 내용은 StringBuffer 예제를 참조하십시오. StringBuffer “sb”를 선언하는 우리의 의도는 Welcome YourName인 환영 메시지를 준비하는 것입니다. 하나의 최종 BufferedReader 예제로, 다음 코드 스니펫 다시 입력 StreamReader 주위 버퍼드 리더를 래핑 하는 방법을 보여 주지만,이 경우 InputStreamReader 자바 URL연결에서 입력 스트림 주위에 래핑: 우리는 마크를 사용할 수 있습니다 (int readAheadLimit) 및 reset() 메서드를 사용하여 스트림의 일부 위치를 표시하고 나중에 다시 돌아갑니다. 다소 모순된 예로, mark() 및 reset()를 사용하여 스트림의 시작 부분에 있는 모든 공백을 무시합니다: 이 문서는 BufferedReader 사용에 대한 토론과 예제를 제공하기 위한 것입니다. 우리는 BufferedReader 클래스의 기본 구문, 그 방법과 원칙의 사용을 통해 갈 것입니다. 이 클래스는 Java에서 가장 많이 사용되는 클래스 중 하나이므로 이 클래스의 사용을 이해하고 마스터하십시오. 우수! 그냥 코멘트, 첫 번째 예에서, 라인 “br = 새로운 버퍼 리더 (새로운 FileReader (FILENAME));”필요 하지 않았다! 이 예제를 떠나기 전에 위의 설명서에 포함 된 줄을 다시 작성해야합니다 :이 마지막 BufferedReader 예제에 대한 자세한 내용에 관심이 있다면 “Java가있는 URL에서 콘텐츠를 열고 읽는 방법”자습서에서 코드 조각을 가져 갔습니다.

그리고 그 튜토리얼에서 훨씬 더 많은 토론이있다.

2nd August 2019 Uncategorized