鴻蒙OS LineNumberInputStream

2022-10-20 15:08 更新

LineNumberInputStream

java.lang.Object

|---java.io.InputStream

|---|---java.io.FilterInputStream

|---|---|---java.io.LineNumberInputStream

@Deprecated
public class LineNumberInputStream
extends FilterInputStream

已棄用。 此類錯誤地假定字節(jié)足以表示字符。 從 JDK 1.1 開始,對字符流進行操作的首選方式是通過新的字符流類,其中包括一個用于計算行號的類。

Since:

JDK1.0

字段摘要

從類 java.io.FilterInputStream 繼承的字段
in

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
LineNumberInputStream(InputStream in) 已棄用。 構(gòu)造一個換行符輸入流,該流從指定的輸入流中讀取其輸入。

方法總結(jié)

修飾符和類型 方法 描述
int available() 已棄用。 返回可以不阻塞地從此輸入流中讀取的字節(jié)數(shù)。
int getLineNumber() 已棄用。 返回當(dāng)前行號。
void mark(int readlimit) 已棄用。 標(biāo)記此輸入流中的當(dāng)前位置。
int read() 已棄用。 從此輸入流中讀取數(shù)據(jù)的下一個字節(jié)。
int read(byte[] b, int off, int len) 已棄用。 從此輸入流中讀取最多 len 個字節(jié)的數(shù)據(jù)到一個字節(jié)數(shù)組中。
void reset() 已棄用。 將此流重新定位到最后一次在此輸入流上調(diào)用標(biāo)記方法時的位置。
void setLineNumber(int lineNumber) 已棄用。 將行號設(shè)置為指定的參數(shù)。
long skip(long n) 已棄用。 跳過并丟棄此輸入流中的 n 字節(jié)數(shù)據(jù)。
從類 java.io.FilterInputStream 繼承的方法
close, markSupported, read
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細信息

LineNumberInputStream

public LineNumberInputStream(InputStream in)

已棄用。

構(gòu)造一個換行符輸入流,該流從指定的輸入流中讀取其輸入。

參數(shù):

參數(shù)名稱 參數(shù)描述
in 底層輸入流。

方法詳情

read

public int read() throws IOException

已棄用。

從此輸入流中讀取數(shù)據(jù)的下一個字節(jié)。 值字節(jié)作為 int 返回,范圍為 0 到 255。如果由于到達流的末尾而沒有可用的字節(jié),則返回值 -1。 此方法會一直阻塞,直到輸入數(shù)據(jù)可用、檢測到流結(jié)束或引發(fā)異常。

LineNumberInputStream 的 read 方法調(diào)用底層輸入流的 read 方法。 它檢查輸入中的回車符和換行符,并根據(jù)需要修改當(dāng)前行號。 回車符或后跟換行符的回車符都轉(zhuǎn)換為單個換行符。

覆蓋:

讀入類 FilterInputStream

返回:

數(shù)據(jù)的下一個字節(jié),如果到達此流的末尾,則為 -1。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

read

public int read(byte[] b, int off, int len) throws IOException

已棄用。

從此輸入流中讀取最多 len 個字節(jié)的數(shù)據(jù)到一個字節(jié)數(shù)組中。 此方法會阻塞,直到某些輸入可用。

LineNumberInputStream 的 read 方法反復(fù)調(diào)用零參數(shù)的 read 方法填充字節(jié)數(shù)組。

覆蓋:

read in class FilterInputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b 讀取數(shù)據(jù)的緩沖區(qū)。
off 數(shù)據(jù)的起始偏移量。
len 讀取的最大字節(jié)數(shù)。

返回:

讀入緩沖區(qū)的總字節(jié)數(shù),如果由于已到達此流的末尾而沒有更多數(shù)據(jù),則為 -1。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

skip

public long skip(long n) throws IOException

已棄用。

跳過并丟棄此輸入流中的 n 字節(jié)數(shù)據(jù)。 由于各種原因,skip 方法最終可能會跳過一些較小的字節(jié)數(shù),可能為 0。返回實際跳過的字節(jié)數(shù)。 如果 n 為負數(shù),則不跳過任何字節(jié)。

LineNumberInputStream 的 skip 方法創(chuàng)建一個字節(jié)數(shù)組,然后重復(fù)讀取它,直到讀取 n 個字節(jié)或到達流的末尾。

覆蓋:

skip in class FilterInputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
n 要跳過的字節(jié)數(shù)。

返回:

跳過的實際字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

setLineNumber

public void setLineNumber(int lineNumber)

已棄用。

將行號設(shè)置為指定的參數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
lineNumber 新的行號。

getLineNumber

public int getLineNumber()

已棄用。

返回當(dāng)前行號。

返回:

當(dāng)前行號。

available

public int available() throws IOException

已棄用。

返回可以不阻塞地從此輸入流中讀取的字節(jié)數(shù)。

請注意,如果底層輸入流能夠提供 k 個輸入字符而不阻塞,則 LineNumberInputStream 可以保證只提供 k/2 個字符而不阻塞,因為來自底層輸入流的 k 個字符可能由 k/2 對 '\ r' 和 '\n',它們僅轉(zhuǎn)換為 k/2 '\n' 字符。

覆蓋:

在類 FilterInputStream 中可用

返回:

可以不阻塞地從此輸入流中讀取的字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

mark

public void mark(int readlimit)

已棄用。

標(biāo)記此輸入流中的當(dāng)前位置。 對 reset 方法的后續(xù)調(diào)用將此流重新定位到最后標(biāo)記的位置,以便后續(xù)讀取重新讀取相同的字節(jié)。

LineNumberInputStream 的mark 方法將當(dāng)前行號記住在一個私有變量中,然后調(diào)用底層輸入流的mark 方法。

覆蓋:

在類 FilterInputStream 中標(biāo)記

參數(shù):

參數(shù)名稱 參數(shù)描述
readlimit 在標(biāo)記位置無效之前可以讀取的最大字節(jié)數(shù)。

reset

public void reset() throws IOException

已棄用。

將此流重新定位到最后一次在此輸入流上調(diào)用標(biāo)記方法時的位置。

LineNumberInputStream 的 reset 方法將行號重置為調(diào)用 mark 方法時的行號,然后調(diào)用底層輸入流的 reset 方法。

流標(biāo)記旨在用于需要提前閱讀以查看流中內(nèi)容的情況。 通常這最容易通過調(diào)用一些通用解析器來完成。 如果流是解析器處理的類型,它就會愉快地運行。 如果流不是該類型,解析器應(yīng)該在失敗時拋出異常,如果它發(fā)生在 readlimit 字節(jié)內(nèi),則允許外部代碼重置流并嘗試另一個解析器。

覆蓋:

在類 FilterInputStream 中重置

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號