Java使用Scanner類(lèi)進(jìn)行文件的讀取方式
使用Scanner類(lèi)進(jìn)行文件的讀取
Scanner類(lèi)在java.util.Scanner包中,Scanner類(lèi)可以用來(lái)獲取控制臺(tái)的輸入,也可以用來(lái)對(duì)文件的讀取。之所以可以這樣,是因?yàn)樘峁┝藰?gòu)造函數(shù)重載。
1.獲取控制臺(tái)的輸入。輸入5個(gè)數(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()可以獲取一個(gè)輸入的數(shù)字
System.out.println(temp);
}
}
}輸出效果:

2.對(duì)于文件的讀取。
首先我們?cè)陧?xiàng)目下創(chuàng)建一個(gè)test.txt。內(nèi)容為:

我們對(duì)其進(jìn)行讀取。
首先new一個(gè)Scanner類(lèi),其中傳入?yún)?shù)為文件的路徑。
File file = new File("test.txt");
Scanner sc = new Scanner(file);其次,就是使用Scanner對(duì)象中hasNext()方法來(lái)判斷文件是否讀取完畢,另外一個(gè)就是用來(lái)獲取控制臺(tái)輸入的nextLine(),nextInt()等方法來(lái)獲取文本的信息,非常類(lèi)似于自己在控制臺(tái)輸入的數(shù)據(jù)變成了文本內(nèi)容,給Scanner對(duì)象獲取。
while(sc.hasNext()) {
String temp = sc.nextLine();
System.out.println(temp);
}這個(gè)時(shí)候就可以實(shí)現(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讀取輸入各類(lèi)信息(Scanner)
想要實(shí)現(xiàn)讀取信息功能需要用到Scanner類(lèi)
Scanner類(lèi)
Scanner是SDK1.5新增的一個(gè)類(lèi),可是使用該類(lèi)創(chuàng)建一個(gè)對(duì)象.。想要通過(guò)控制臺(tái)進(jìn)行輸入,首先需要構(gòu)造一個(gè)Scanner對(duì)象,并與“標(biāo)準(zhǔn)輸入流”System.in關(guān)聯(lián)。
也就是說(shuō)要構(gòu)建自己使用的對(duì)象才能夠?qū)崿F(xiàn)賦值
Scanner myscan = new Scanner(System.in); //以int行為例; int test = myscan.nextInt();
同時(shí)要注意在類(lèi)外需要調(diào)用Scanner庫(kù)
import java.util.Scanner;
此外不同的類(lèi)型還需要使用不同的后綴名
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);
? ? }
}以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- java中Scanner類(lèi)的簡(jiǎn)單用法分享
- java編程scanner類(lèi)用法示例
- 在java中用Scanner類(lèi)讀入單個(gè)字符的方法
- Java使用Scanner類(lèi)獲取用戶(hù)輸入實(shí)例詳解
- Java使用Scanner類(lèi)進(jìn)行控制臺(tái)輸入實(shí)現(xiàn)方法
- Java Scanner類(lèi)及其方法使用圖解
- java自定義Scanner類(lèi)似功能類(lèi)的實(shí)例講解
- java Scanner類(lèi)的使用示例代碼
- Java中Scanner類(lèi)使用保姆級(jí)教程
- Java中Scanner類(lèi)基礎(chǔ)使用、可能遇到的問(wèn)題及注意事項(xiàng)
相關(guān)文章
深入理解SpringMVC中央調(diào)度器DispatcherServlet
這篇文章主要介紹了SpringMVC核心之中央調(diào)度器DispatcherServlet的相關(guān)知識(shí),包括SpringMVC請(qǐng)求處理過(guò)程及SrpingMVC容器和spring?IOC容器關(guān)系,需要的朋友可以參考下2022-05-05
Mybatis-plus apply函數(shù)使用場(chǎng)景分析
Mybatis-plus 里面的 apply方法 是用于拼接自定義的條件判斷,自定義時(shí)間查詢(xún),根據(jù)傳進(jìn)來(lái)的開(kāi)始日期,查詢(xún)所有該日期是數(shù)據(jù),但是數(shù)據(jù)庫(kù)中保存是時(shí)間,所以需要使用apply查詢(xún)方式并格式化,這篇文章給大家介紹Mybatis-plus apply函數(shù)使用,感興趣的朋友一起看看吧2024-02-02
shardingjdbc之配置druid數(shù)據(jù)庫(kù)連接池過(guò)程
這篇文章主要介紹了shardingjdbc之配置druid數(shù)據(jù)庫(kù)連接池過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
淺談圖片上傳利用request.getInputStream()獲取文件流時(shí)遇到的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談圖片上傳利用request.getInputStream()獲取文件流時(shí)遇到的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Java生產(chǎn)者和消費(fèi)者例子_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
生產(chǎn)者-消費(fèi)者(producer-consumer)問(wèn)題,也稱(chēng)作有界緩沖區(qū)(bounded-buffer)問(wèn)題,兩個(gè)進(jìn)程共享一個(gè)公共的固定大小的緩沖區(qū)。下文通過(guò)實(shí)例給大家介紹java生產(chǎn)者和消費(fèi)者,感興趣的朋友一起學(xué)習(xí)吧2017-05-05
JavaCV實(shí)現(xiàn)讀取視頻信息及自動(dòng)截取封面圖詳解
javacv可以幫助我們?cè)趈ava中很方便的使用OpenCV以及FFmpeg相關(guān)的功能接口。本文將利用Javacv實(shí)現(xiàn)在視頻網(wǎng)站中常見(jiàn)的讀取視頻信息和自動(dòng)獲取封面圖的功能,感興趣的可以了解一下2022-06-06

