導航:首頁 > 編程語言 > java讀取inputstream

java讀取inputstream

發布時間:2023-06-28 20:28:34

java 中配置文件路徑讀取使用FileReader和InputStream區別和用法

一、按數據來源(去向)分類:
1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter
2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream
3、是Char[]: CharArrayReader, CharArrayWriter
4、是String: StringBufferInputStream, StringReader, StringWriter
5、網路數據流:InputStream, OutputStream, Reader, Writer

二、按是否格式化輸出分:
1、要格式化輸出:PrintStream, PrintWriter

三、按是否要緩沖分:
1、要緩沖:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter

四、按數據格式分:
1、二進制格式(只要不能確定是純文本的): InputStream, OutputStream及其所有帶Stream結束的子類
2、純文本格式(含純英文與漢字或其他編碼方式);Reader, Writer及其所有帶Reader, Writer的子類

五、按輸入輸出分:
1、輸入:Reader, InputStream類型的子類
2、輸出:Writer, OutputStream類型的子類

六、特殊需要:
1、從Stream到Reader,Writer的轉換類:InputStreamReader, OutputStreamWriter
2、對象輸入輸出:ObjectInputStream, ObjectOutputStream
3、進程間通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter
4、合並輸入:SequenceInputStream
5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader

決定使用哪個類以及它的構造進程的一般准則如下(不考慮特殊需要):
首先,考慮最原始的數據格式是什麼: 原則四
第二,是輸入還是輸出:原則五
第三,是否需要轉換流:原則六第1點
第四,數據來源(去向)是什麼:原則一
第五,是否要緩沖:原則三 (特別註明:一定要注意的是readLine()是否有定義,有什麼比read, write更特殊的輸入或輸出方法)
第六,是否要格式化輸出:原則二

Java中Inputstream與Reader的區別

Reader支持16位的Unicode字元輸出,InputStream支持8位的字元輸出。
Reader和InputStream分別是I/O庫提供的兩套平行獨立的等級機構,
InputStream、OutputStream是用來處理8位元的流,
Reader、Writer是用來處理16位元的流。
而在JAVA語言中,byte類型是8位的,char類型是16位的,所以在處理中文的時候需要用Reader和Writer。
值得說明的是,在這兩種等級機構下,還有一道橋梁InputStreamReader、OutputStreamWriter負責進行InputStream到Reader的適配和由OutputStream到Writer的適配。

java.io.Reader 和 java.io.InputStream 組成了 Java輸入類。Reader 用於讀入16位字元,也就是 Unicode編碼的字元;而 InputStream 用於讀入 ASCII字元和二進制數據。
在 Java中,有不同類型的 Reader 輸入流對應於不同的數據源:
FileReader 用於從文件輸入;
CharArrayReader 用於從程序中的字元數組輸入;
StringReader 用於從程序中的字元串輸入;
PipedReader 用於讀取從另一個線程中的 PipedWriter 寫入管道的數據。
相應的也有不同類型的 InputStream 輸入流對應於不同的數據源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,還有兩種沒有對應 Reader 類型的 InputStream 輸入流:
Socket 用於套接字;
URLConnection 用於 URL 連接。
這兩個類使用 getInputStream() 來讀取數據。
相應的,java.io.Writer 和 java.io.OutputStream 也有類似的區別。

Ⅱ java讀取文件時,InputStream的read(byte[])方法的byte[]的長度不知如何設置,請教大蝦們

那個長度應該只是緩沖區而已,應該不影響結果的。我做的時候一般都設置為1024,即1KB
這個是我部分的成功代碼
inputStream = new BufferedInputStream(new FileInputStream(
downloadFile));
outputStream = new BufferedOutputStream(response
.getOutputStream());
byte[] buffer = new byte[1024];
int readIndex;
while (-1 != (readIndex = inputStream.read(buffer, 0,
buffer.length))) {
outputStream.write(buffer, 0, readIndex);
}

Ⅲ java中DataInputStream如何讀取我們控制台的字元串

java中DataInputStream使用構造參數,使用bufferreader,輸入參數system.in就可以讀取控制台的字元串,如下代碼:

importjava.io.BufferedInputStream;
importjava.io.DataInputStream;
importjava.io.IOException;

publicclassceshi{
publicstaticvoidmain(String[]args){

DataInputStreamin=newDataInputStream(newBufferedInputStream(
System.in));//新建DateInputSteam,接收控制台的信息
Strings;
try{
while((s=in.readLine()).length()!=0)
System.out.println(s);//讀取控制台信息,並列印出來
//
}catch(IOExceptione){
e.printStackTrace();
}

}

}

運行結果如下:

閱讀全文

與java讀取inputstream相關的資料

熱點內容
貸款申請系統源碼 瀏覽:266
windowsxp文件夾打開後怎麼返回 瀏覽:662
怎麼把pdf變成圖片 瀏覽:795
17年程序員事件 瀏覽:494
iishttp壓縮 瀏覽:29
公司文件加密後拷走能打開嗎 瀏覽:186
headfirstjava中文 瀏覽:894
騰訊雲伺服器怎麼放在電腦桌面 瀏覽:8
批量生成圖片的app哪個好 瀏覽:496
小米10電池校準命令 瀏覽:96
移動商城系統app如何開發 瀏覽:692
用安卓手機如何發高清短視頻 瀏覽:339
怎樣運行java程序運行 瀏覽:553
海南根伺服器鏡像雲伺服器 瀏覽:536
weka聚類演算法 瀏覽:452
視頻伺服器修復是什麼意思 瀏覽:498
python跨平台開發 瀏覽:916
音遇app全民k歌從哪裡下載 瀏覽:646
雲盒子能裝伺服器嗎 瀏覽:796
林漢達pdf 瀏覽:45