1、Scanner用來接收控制臺的輸入
(1)想通過控制臺進(jìn)行輸入遇伞,首先需要構(gòu)造一個 Scanner 對象辙喂,并與“ 標(biāo)準(zhǔn)輸人流” System.in 關(guān)聯(lián)捶牢。
Scanner in = new Scanner(System.in);
(2)要想對文件進(jìn)行讀取鸠珠,就需要一個用 File 對象構(gòu)造一個 Scanner 對象,如下所示:
Scanner in = new Scanner(Paths.get("myflle.txt"), "UTF-8");
如果文件名中包含反斜杠符號秋麸,就要記住在每個反斜杠之前再加一個額外的反斜杠:
“c:\my\myfile.txt ”
——>“c:\\my\\myfile.txt ”
(3)要想寫入文件渐排, 就需要構(gòu)造一個 PrintWriter 對象。在構(gòu)造器中灸蟆,只需要提供文件名:
PrintWriter out = new PrintlulriterC'myfile.txt", "UTF-8");
2驯耻、Scanner測試
import org.junit.Test;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Paths;
import java.util.Scanner;
/**
/**
* @ClassName Scanner
* @Description 測試scanner類
* @Author 洛城天使
* @Date: 2021/9/18 22:50
* @Version 1.0
*/
public class ScannerDemo {
@Test
public void testScanner() throws IOException {
String filePath = "E:\\demofile\\javatest.txt";
PrintWriter writer = new PrintWriter(filePath, "UTF-8");
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入一些字:");
boolean falg = true;
while (falg) {
String str = scanner.nextLine();
if ("exit".equals(str)) {
System.out.println("====================");
falg = false;
writer.close();
} else {
writer.println(str);
writer.flush();
}
}
Scanner in = new Scanner(Paths.get(filePath), "UTF-8");
while (in.hasNextLine()) {
String line = in.nextLine();
System.out.println(line);
}
}
}