Java使用Scanner類進行文件的讀取方式
使用Scanner類進行文件的讀取
Scanner類在java.util.Scanner包中,Scanner類可以用來獲取控制臺的輸入,也可以用來對文件的讀取。之所以可以這樣,是因為提供了構(gòu)造函數(shù)重載。
1.獲取控制臺的輸入。輸入5個數(shù)字。
import java.util.Scanner; public class test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); for (int i = 0; i <= 5; i++) { int temp = sc.nextInt(); //sc.nextInt()可以獲取一個輸入的數(shù)字 System.out.println(temp); } } }
輸出效果:
2.對于文件的讀取。
首先我們在項目下創(chuàng)建一個test.txt。內(nèi)容為:
我們對其進行讀取。
首先new一個Scanner類,其中傳入?yún)?shù)為文件的路徑。
File file = new File("test.txt"); Scanner sc = new Scanner(file);
其次,就是使用Scanner對象中hasNext()方法來判斷文件是否讀取完畢,另外一個就是用來獲取控制臺輸入的nextLine(),nextInt()等方法來獲取文本的信息,非常類似于自己在控制臺輸入的數(shù)據(jù)變成了文本內(nèi)容,給Scanner對象獲取。
while(sc.hasNext()) { String temp = sc.nextLine(); System.out.println(temp); }
這個時候就可以實現(xiàn)文本讀取了。
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class test { public static void main(String[] args) { try { File file = new File("test.txt"); // System.out.println(file.getAbsolutePath()); Scanner sc = new Scanner(file); while (sc.hasNext()) { String temp = sc.nextLine(); System.out.println(temp); } } catch (FileNotFoundException e) { e.printStackTrace(); } } }
輸出效果和test.txt的內(nèi)容一樣。
Java讀取輸入各類信息(Scanner)
想要實現(xiàn)讀取信息功能需要用到Scanner類
Scanner類
Scanner是SDK1.5新增的一個類,可是使用該類創(chuàng)建一個對象.。想要通過控制臺進行輸入,首先需要構(gòu)造一個Scanner對象,并與“標(biāo)準(zhǔn)輸入流”System.in關(guān)聯(lián)。
也就是說要構(gòu)建自己使用的對象才能夠?qū)崿F(xiàn)賦值
Scanner myscan = new Scanner(System.in); //以int行為例; int test = myscan.nextInt();
同時要注意在類外需要調(diào)用Scanner庫
import java.util.Scanner;
此外不同的類型還需要使用不同的后綴名
import java.util.Scanner; public class input { ? ? public static void main(String[] args){ ? ? ? ? Scanner myscn = new Scanner(System.in); ? ? ? ? //steing型 ? ? ? ? String name = myscn.next(); ? ? ? ? //int型 ? ? ? ? int age = myscn.nextInt(); ? ? ? ? //double型 ? ? ? ? double score = myscn.nextDouble(); ? ? ? ? //char型 ? ? ? ? char num = myscn.next().charAt(0); ? ? } }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
同時使用@LoadBalanced?@RefreshScope注解負(fù)載均衡失效分析
這篇文章主要為大家介紹了同時使用@LoadBalanced?@RefreshScope負(fù)載均衡失效問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02Spring?Security?自定義授權(quán)服務(wù)器實踐記錄
授權(quán)服務(wù)器(Authorization Server)目前并沒有集成在Spring Security項目中,而是作為獨立項目存在于Spring生態(tài)中,這篇文章主要介紹了Spring?Security?自定義授權(quán)服務(wù)器實踐,需要的朋友可以參考下2022-08-08Mybatis實現(xiàn)一對一、一對多關(guān)聯(lián)查詢的方法(示例詳解)
這篇文章主要介紹了Mybatis實現(xiàn)一對一、一對多關(guān)聯(lián)查詢的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04Java創(chuàng)建圖形用戶界面(GUI)入門詳細指南(Swing庫JFrame類)
這篇文章主要介紹了使用Java?Swing庫的JFrame類創(chuàng)建基本的圖形用戶界面,包括窗口的創(chuàng)建、組件的添加和事件處理,通過代碼講解了如何設(shè)置窗口大小、添加按鈕及處理按鈕點擊事件,適合初學(xué)者學(xué)習(xí)和開發(fā)GUI應(yīng)用程序,需要的朋友可以參考下2024-11-11Redisson分布式閉鎖RCountDownLatch的使用詳細講解
分布式鎖和我們java基礎(chǔ)中學(xué)習(xí)到的synchronized略有不同,synchronized中我們的鎖是個對象,當(dāng)前系統(tǒng)部署在不同的服務(wù)實例上,單純使用synchronized或者lock已經(jīng)無法滿足對庫存一致性的判斷。本次主要講解基于rediss實現(xiàn)的分布式鎖2023-02-02