自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

字節(jié)流、InputStream類、OutputStream類、標準輸入System.in和標準輸出System.out

開發(fā) 前端
本文主要介紹了字節(jié)流、InputStream類、OutputStream類、標準輸入System.in和標準輸出System.out、InputStream讀取文件。IO流中是針對字節(jié)的輸入和輸出提供一系列的流稱為字節(jié)流。

大家好,我是Java進階者。

前言

在很多的應用程序中需要實現(xiàn)與設備之間的數(shù)據傳輸,例如通過鍵盤輸入。輸出的設備例如顯示器,在不同的輸入和輸出設備中數(shù)據傳輸抽象表示“流”,程序通過流的方式的輸出和輸入設備進行數(shù)據傳輸。本文主要學習Java的字節(jié)流,接下來小編帶大家一起來學習!

一、字節(jié)流

1.什么是字節(jié)流

在我們計算中,無論在文本,圖片,視頻等,這些文件都是以二進制的形式存在,IO流中是針對字節(jié)的輸入和輸出提供一系列的流稱為字節(jié)流。

2.數(shù)據流可以分為字節(jié)輸入流和字節(jié)輸出流。

3.輸入流表示從其他設備流入計算機的數(shù)據,輸出流表示從計算機流向外部設備的數(shù)據。

4.Java語言處理輸入輸出數(shù)據的功能,表現(xiàn)在java.io包中。

二、InputStream類

1.InputStream類是一個抽象類,作為字節(jié)輸入流的直接或間接的父類。

2.InputStream類常用方法:

(1)public int read()方法:從輸入流讀取數(shù)據的下一個字節(jié),把它轉換為0~255之間的整數(shù),然后返回一個整數(shù)。

(2)public int read(byte[] b)方法:從輸入流中讀取若干字節(jié),把這些字節(jié)存儲到參數(shù)b指定的字節(jié)數(shù)組中,然后返回的整數(shù)表示讀取的字節(jié)數(shù)

(3)public int read(byte[] b,int off,int len)方法:表示從數(shù)組b的第off個位置起讀取len個字節(jié)。off表示字節(jié)數(shù)組開始存儲數(shù)據的起始下標,len表示讀取的字節(jié)數(shù)目。

(4)public void close()方法:表示關閉此輸入流并釋放與該流關聯(lián)的所有系統(tǒng)資源。

上面介紹了InputStream類常用方法,int read()、int read(byte[] b)、int read(byte[] b,int off,int len)方法是用來讀取數(shù)據的,int read()方法是從輸入流中逐個讀入字節(jié),int read(byte[] b)、int read(byte[] b,int off,int len)方法是把若干個字節(jié)以數(shù)組的形式一次性讀入,提高了讀取數(shù)據的效率。close()方法是關閉流。

三、OutputStream類

1.OutputStream類是一個抽象類,作為字節(jié)輸出流的直接或間接的父類。

2.OutputStream類常用方法:

(1)public void write(int b)方法:一個整型數(shù)據向流中寫入數(shù)據。

(2)public void write(byte [] b)方法:參數(shù)b指定的字節(jié)數(shù)組的所有字節(jié)寫到輸出流。

(3)public void write(byte[] b, int off, int len)方法:以字節(jié)方式向流中寫入數(shù)據,off表示起始位置,len為長度。

(4)public void close()方法:表示關閉此輸入流并釋放與該流關聯(lián)的所有系統(tǒng)資源。

四、標準輸入System.in

1.System.in是字節(jié)輸入流類InputStream對象in實現(xiàn)標準輸入,其中它read()方法從鍵盤接受數(shù)據,當發(fā)生I/O錯誤時,拋出IOException異常。

2.Scanner類可以使用in初始化一個對象:

  1. Scanner sc=new Scanner(System.in

五、標準輸出System.out

1.System.out是用于屏幕輸出,常用的調用方法有print(表示不換行)和println(表示換行),這兩個方法支持Java的任意基本類型作為參數(shù)。

2.print和println例子:

  1. System.out.print("hello world!");//表示不換行 
  2.  
  3. System.out.println("hello world");//表示換行 

六、 InputStream讀取文件

1.使用InputStream對文件進行操作,當讀取文件內容,創(chuàng)建一個數(shù)組來保存文件的內容。

2.在Text文件夾準備一個test05.txt文件,內容是“Java進階學習交流”,創(chuàng)建輸入流,參數(shù)為一個文件,再創(chuàng)建字節(jié)數(shù)組,其長度是1024。定義一個int類型的temp變量保存讀取的內容,寫一個while循環(huán)當沒有讀取完的,繼續(xù)讀取,讀取完再關閉數(shù)據流。

3.例子的實現(xiàn):

(1)準備一個test05.txt文件并寫入內容如下圖所示:

(2)實現(xiàn)的代碼:

  1. import java.io.*; 
  2. public class P04 { 
  3. public static void main(String[] args) throws Exception { 
  4.         // TODO Auto-generated method stub 
  5.         File f = new File("text/test05");    
  6. InputStream in = new FileInputStream(f);    
  7. byte b[] = new byte[1024];    
  8. int num = 0;    
  9. int temp=0;  //定義一個int類型的temp變量保存讀取的內容 
  10. while((temp=in.read())!=-1){//若沒有讀取完時,繼續(xù)讀取內容   
  11. b[num]=(byte)temp;    
  12. num++;    
  13. }    
  14. in.close();    
  15. System.out.println("讀取內容的是:"+new String(b,0,num));    
  16.   }    

運行的結果圖如下所示:

七、總結

本文主要介紹了字節(jié)流、InputStream類、OutputStream類、標準輸入System.in和標準輸出System.out、InputStream讀取文件。IO流中是針對字節(jié)的輸入和輸出提供一系列的流稱為字節(jié)流。

InputStream類是一個抽象類,作為字節(jié)輸入流的直接或間接的父類。OutputStream類是一個抽象類,作為字節(jié)輸出流的直接或間接的父類。System.in是字節(jié)輸入流類InputStream對象in實現(xiàn)標準輸入,其中它read()方法從鍵盤接受數(shù)據,當發(fā)生I/O錯誤時,拋出IOException異常。System.out是用于屏幕輸出,常用的調用方法有print(表示不換行)和println(表示換行)。InputStream讀取文件通過例子幫助理解它的用法。希望通過本文的學習,對你有所幫助!

 

責任編輯:姜華 來源: Java進階學習交流
相關推薦

2021-03-22 09:56:01

Java基礎System類Static

2023-06-26 07:26:50

System.Net網絡通信基礎接口

2009-08-31 18:46:05

繼承System.Ob

2010-02-06 14:28:38

C++標準輸入輸出

2010-05-11 13:36:50

Unix標準

2011-11-28 09:25:36

Java輸入輸出

2009-10-15 09:36:26

VB System.A

2021-12-09 09:30:38

字節(jié)流文件緩沖區(qū)

2010-02-03 16:04:34

C++標準類庫

2013-12-12 17:21:46

Lua出入輸出

2009-07-04 10:49:20

布線介質標準性能

2021-12-16 10:08:34

文件字節(jié)流FileInputStFileOutputS

2009-10-15 16:05:40

六類布線標準

2009-10-28 10:31:59

VB.NET Syst

2012-12-27 17:07:20

4G通信網絡中興

2009-10-27 15:21:45

VB.NET文件處理

2023-10-10 07:55:41

JDK8輕量級鎖

2012-11-27 16:01:41

IBM Flex Sy

2023-04-07 12:25:27

報錯信息命令

2009-10-28 10:23:48

VB.NET定時器
點贊
收藏

51CTO技術棧公眾號