Java中BufferedReader類獲取輸入輸入字符串實例
使用Scanner來取得使用者的輸入很方便,但是它以空白來區(qū)隔每一個輸入字符串,在某些時候并不適用,因為使用者可能輸入一個字符串,中間會包括空白字元,而您希望取得完整的字符串。
您可以使用BufferedReader類別,它是java.io包中所提供的一個類,所以使用這個類時必須先import java.io包;使用BufferedReader對象的readLine()
方法必須處理IOException異常(exception),異常處理機制是Java提供給程序設(shè)計人員捕捉程序中可能發(fā)生的錯誤所提供的機制,現(xiàn)階段您處理IOException的方法是在main()
方法后,加上 throws IOException,這在以后會再詳細討論為何要這么作。
BufferedReader在建構(gòu)時接受一個Reader對象,在讀取標(biāo)準(zhǔn)輸入串流時,會使用InputStreamReader,它繼承了 Reader類,您使用以下的方法來為標(biāo)準(zhǔn)輸入串流建立緩沖區(qū)對象:
BufferedReader buf = new BufferedReader( new InputStreamReader(System.in));
"new"關(guān)鍵字表示您要建構(gòu)一個對象為您所用,BufferedReader buf表示聲明一個類型為BufferedReader的對象變量,而new BufferedReader()
表示以BufferedReader類建構(gòu)一個對象,newInputStreamReader(System.in)
表示接受一個System.in
對象來建構(gòu)一個InputStreamReader對象。
您可以在學(xué)過對象導(dǎo)向觀念之后再來看這段,現(xiàn)階段若您比較難理解,就記得上面的緩沖區(qū)讀取對象建立方式,通常要使用BufferedReader來取得使用者的輸入都是這么寫的。
下面這個程序可以在文字模式下取得使用者輸入(可包括空白字節(jié)輸入),并重新顯示在主控臺中:
- GetInput.java
import java.io.*; public class GetInput { public static void main(String[]args) throws IOException { BufferedReader buf = newBufferedReader( newInputStreamReader(System.in)); System.out.print("請輸入一列文字: "); String text = buf.readLine(); System.out.println("您輸入的文字: " + text); } }
readLine()方法會傳回使用者在按下Enter鍵之前的所有字節(jié)輸入,不包括最后按下的 Enter返回字節(jié),程序的執(zhí)行范例如下所示:
請輸入一列文字: This is a test!
您輸入的文字: This is a test!
總結(jié)
以上就是本文關(guān)于Java中BufferedReader類獲取輸入輸入字符串實例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
SpringBoot?實現(xiàn)動態(tài)添加定時任務(wù)功能
這篇文章主要介紹了SpringBoot?動態(tài)添加定時任務(wù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02Java中CopyOnWriteArrayList的使用解析
這篇文章主要介紹了Java中CopyOnWriteArrayList的使用解析,CopyOnWriteArrayList適合使用在讀操作遠遠大于寫操作的場景里,比如緩存,它不存在擴容的概念,每次寫操作都要復(fù)制一個副本,在副本的基礎(chǔ)上修改后改變Array引用,需要的朋友可以參考下2023-12-12