JavaTM Platform
Standard Ed. 6

java.io
클래스 LineNumberInputStream

java.lang.Object 
  상위를 확장 java.io.InputStream 
      상위를 확장 java.io.FilterInputStream 
          상위를 확장 java.io.LineNumberInputStream
모든 구현된 인터페이스:
Closeable


추천 되고 있지 않습니다.  이 클래스는, 문자가 바이트에 의해 적절히 표현된다고 하는 잘못한 인식을 전제로 하고 있습니다. JDK 1. 1 이후, 문자 스트림의 처리에는, 행 번호를 카운트하기 위한 클래스가 포함되어 있는 새로운 문자 스트림 클래스를 사용하는 것이 적절합니다.

@Deprecated 
public class LineNumberInputStream
extends FilterInputStream

이 클래스는 입력 스트림 필터이며, 현재의 행 번호를 감시해 보관 유지하는 기능이 추가되고 있습니다.  

행과는 바이트의 일렬로 정렬함이며, 왕복대 리턴 문자 ('\r'), 개행 문자 ('\n'), 또는 왕복대 리턴 문자와 거기에 계속되는 개행 문자로 끝납니다. 이것들 3 종류의 모두로, 행을 종료시키는 문자는 1 개의 개행 문자로서 돌려주어집니다.  

행 번호는 0 으로부터 시작되어,read 가 개행 문자를 돌려줄 때마다 1 두개증가합니다.

도입된 버젼:
JDK1. 0
관련 항목:
LineNumberReader

필드의 개요
 
클래스 java.io. FilterInputStream 로부터 상속된 필드
in
 
생성자 의 개요
LineNumberInputStream (InputStream  in)
          추천 되고 있지 않습니다.  지정된 입력 스트림로부터 읽어들이는, 새로운 행 번호 첨부 입력 스트림을 작성합니다
 
메소드의 개요
 int available ()
          추천 되고 있지 않습니다.  블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수를 돌려줍니다.
 int getLineNumber ()
          추천 되고 있지 않습니다.  현재의 행 번호를 돌려줍니다.
 void mark (int readlimit)
          추천 되고 있지 않습니다.  이 입력 스트림의 현재 위치에 마크를 설정합니다.
 int read ()
          추천 되고 있지 않습니다.  이 입력 스트림로부터 데이터의 다음의 바이트를 읽어들입니다.
 int read (byte[] b, int off, int len)
          추천 되고 있지 않습니다.  최대 len 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다.
 void reset ()
          추천 되고 있지 않습니다.  이 스트림의 위치를, 입력 스트림로 마지막에 mark 메소드가 불려 갔을 때의 마크 위치에 재설정합니다.
 void setLineNumber (int lineNumber)
          추천 되고 있지 않습니다.  행 번호가 지정된 인수로 설정합니다.
 long skip (long n)
          추천 되고 있지 않습니다.  이 입력 스트림로부터 n 바이트분을 스킵 및 파기합니다.
 
클래스 java.io. FilterInputStream 로부터 상속된 메소드
close , markSupported , read
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

LineNumberInputStream

public LineNumberInputStream(InputStream  in)
추천 되고 있지 않습니다.  
지정된 입력 스트림로부터 읽어들이는, 새로운 행 번호 첨부 입력 스트림을 작성합니다

파라미터:
in - 기본이 되는 입력 스트림
메소드의 상세

read

public int read()
         throws IOException 
추천 되고 있지 않습니다.  
이 입력 스트림로부터 데이터의 다음의 바이트를 읽어들입니다. 값의 바이트는,0 ~ 255 의 범위의 int 로서 돌려주어집니다. 스트림의 마지막에 이르렀기 때문에 읽어들이는 바이트가 없는 경우는, 값 -1 이 돌려주어집니다. 입력 데이터를 읽어들일 수 있게 되는지, 파일의 마지막이 검출되는지, 또는 예외가 발생할 때까지, 이 메소드는 블록 됩니다.  

LineNumberInputStreamread 메소드가, 기본이 되는 입력 스트림의 read 메소드를 호출합니다. 입력에 나타나는 왕복대 리턴 문자와 개행 문자를 조사해 적절한 행 번호를 유지합니다. 왕복대 리턴 문자와 왕복대 리턴+개행 문자는, 어느쪽이나 1 개의 개행 문자에 변환됩니다.

오버라이드(override):
클래스 FilterInputStream 내의 read
반환값:
데이터의 다음의 바이트. 스트림의 마지막에 이르렀을 경우는 -1
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in , getLineNumber()

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException 
추천 되고 있지 않습니다.  
최대 len 바이트까지의 데이터를, 이 입력 스트림로부터 바이트 배열에 읽어들입니다. 이 메소드는, 입력의 일부를 이용할 수 있게 될 때까지 블록 합니다.  

LineNumberInputStreamread 메소드는 인수를 취하지 않는 read 메소드를 반복해 호출해 배열에 기입합니다.

오버라이드(override):
클래스 FilterInputStream 내의 read
파라미터:
b - 데이터의 read처의 버퍼
off - 데이터의 개시 오프셋(offset)
len - 읽히는 최대 바이트수
반환값:
버퍼에 읽힌 바이트의 총수. 스트림의 마지막에 이르러 읽어들이는 데이터가 없었던 경우는 -1
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
read()

skip

public long skip(long n)
          throws IOException 
추천 되고 있지 않습니다.  
이 입력 스트림로부터 n 바이트분을 스킵 및 파기합니다. 다양한 이유로부터,skip 메소드는 지정보다 적은 바이트수 밖에 스킵 하지 않는 것이 있습니다. 0 의 경우도 있습니다. 스킵 된 실제의 바이트수가 돌려주어집니다. n 가 부의 경우, 바이트는 스킵 되지 않습니다.  

LineNumberInputStreamskip 메소드는 바이트 배열을 작성해,n 바이트가 읽힐 때까지, 또는 스트림의 마지막에 이를 때까지 반복 그 중에 읽어들입니다.

오버라이드(override):
클래스 FilterInputStream 내의 skip
파라미터:
n - 스킵 하는 바이트수
반환값:
스킵 된 실제의 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

setLineNumber

public void setLineNumber(int lineNumber)
추천 되고 있지 않습니다.  
행 번호가 지정된 인수로 설정합니다.

파라미터:
lineNumber - 신규행 번호
관련 항목:
getLineNumber()

getLineNumber

public int getLineNumber()
추천 되고 있지 않습니다.  
현재의 행 번호를 돌려줍니다.

반환값:
현재의 행 번호
관련 항목:
setLineNumber(int)

available

public int available()
              throws IOException 
추천 되고 있지 않습니다.  
블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수를 돌려줍니다.  

블록 하지 않고 기본이 되는 입력 스트림로부터 k 개의 문자를 읽어들여 가능한 경우,LineNumberInputStream 가 블록 하지 않고 읽어들여 가능한 문자수는 k/2 가 될 가능성이 있는 것에 주의해 주세요. 이것은, 기본이 되는 입력 스트림로부터의 k 개의 문자가 k/2 대의 '\r''\n' 일 가능성도 있어, 이것이 k/2 개의 '\n' 문자에 변환될지도 모르기 때문입니다.

오버라이드(override):
클래스 FilterInputStream 내의 available
반환값:
블록 하지 않고 입력 스트림로부터 읽어들일 수가 있는 바이트수
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in

mark

public void mark(int readlimit)
추천 되고 있지 않습니다.  
이 입력 스트림의 현재 위치에 마크를 설정합니다. 이것에 이어 reset 메소드를 호출하면(자), 마지막에 마크가 설정된 위치에 스트림을 재설정하기 위해(때문에), 다음번의 read 조작에서는 같은 바이트로부터 읽어들이게 됩니다.  

LineNumberInputStreammark 메소드는, private 변수에 현재의 행 번호를 기록하고 나서, 기본이 되는 입력 스트림의 mark 메소드를 호출합니다.

오버라이드(override):
클래스 FilterInputStream 내의 mark
파라미터:
readlimit - 마크 위치가 무효가 되기 전에 읽어들여 가능한 최대한도의 바이트수
관련 항목:
FilterInputStream.in , reset()

reset

public void reset()
           throws IOException 
추천 되고 있지 않습니다.  
이 스트림의 위치를, 입력 스트림로 마지막에 mark 메소드가 불려 갔을 때의 마크 위치에 재설정합니다.  

LineNumberInputStreamreset 메소드는, 우선 행 번호를 mark 메소드가 불려 간 시점의 값에 리셋 해, 그리고 기본이 되는 입력 스트림의 reset 메소드를 호출합니다.  

스트림의 마크는, 스트림에 무엇이 포함되어 있는지를 체크하기 위해서, 데이터를 약간 예측할 필요가 있는 경우에 사용됩니다. 이것을 가장 용이하게 실행하는 방법은, 일반적인 퍼서를 호출하는 것입니다. 스트림을 퍼서로 취급할 수 있는 타입이면, 이것으로 잘 되어갑니다. 스트림이 그러한 타입이 아닌 경우, 퍼서는 실패한 시점에서 예외를 발생시킵니다. 이것에 의해, readlimit 바이트의 범위내에서 이것이 발생했을 경우는, 외부의 코드로 스트림을 리셋 해, 다른 퍼서를 호출할 수가 있습니다.

오버라이드(override):
클래스 FilterInputStream 내의 reset
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in , mark(int)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.