鴻蒙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

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

Since:

JDK1.0

字段摘要

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

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

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

方法總結(jié)

修飾符和類型 方法 描述
int available() 已棄用。 返回可以不阻塞地從此輸入流中讀取的字節(jié)數(shù)。
int getLineNumber() 已棄用。 返回當(dāng)前行號(hào)。
void mark(int readlimit) 已棄用。 標(biāo)記此輸入流中的當(dāng)前位置。
int read() 已棄用。 從此輸入流中讀取數(shù)據(jù)的下一個(gè)字節(jié)。
int read(byte[] b, int off, int len) 已棄用。 從此輸入流中讀取最多 len 個(gè)字節(jié)的數(shù)據(jù)到一個(gè)字節(jié)數(shù)組中。
void reset() 已棄用。 將此流重新定位到最后一次在此輸入流上調(diào)用標(biāo)記方法時(shí)的位置。
void setLineNumber(int lineNumber) 已棄用。 將行號(hào)設(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ù)詳細(xì)信息

LineNumberInputStream

public LineNumberInputStream(InputStream in)

已棄用。

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

參數(shù):

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

方法詳情

read

public int read() throws IOException

已棄用。

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

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

覆蓋:

讀入類 FilterInputStream

返回:

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

Throws:

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

read

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

已棄用。

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

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ù),如果由于已到達(dá)此流的末尾而沒有更多數(shù)據(jù),則為 -1。

Throws:

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

skip

public long skip(long n) throws IOException

已棄用。

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

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

覆蓋:

skip in class FilterInputStream

參數(shù):

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

返回:

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

Throws:

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

setLineNumber

public void setLineNumber(int lineNumber)

已棄用。

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

參數(shù):

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

getLineNumber

public int getLineNumber()

已棄用。

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

返回:

當(dāng)前行號(hào)。

available

public int available() throws IOException

已棄用。

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

請(qǐng)注意,如果底層輸入流能夠提供 k 個(gè)輸入字符而不阻塞,則 LineNumberInputStream 可以保證只提供 k/2 個(gè)字符而不阻塞,因?yàn)閬?lái)自底層輸入流的 k 個(gè)字符可能由 k/2 對(duì) '\ r' 和 '\n',它們僅轉(zhuǎn)換為 k/2 '\n' 字符。

覆蓋:

在類 FilterInputStream 中可用

返回:

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

Throws:

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

mark

public void mark(int readlimit)

已棄用。

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

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

覆蓋:

在類 FilterInputStream 中標(biāo)記

參數(shù):

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

reset

public void reset() throws IOException

已棄用。

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

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

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

覆蓋:

在類 FilterInputStream 中重置

Throws:

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)