Scanner、PrintWriter
读取输入
要想通过控制台进行输入,首先需要构造一个与“标准输入流”System.in关联的Scanner对象。
Scanner scan = new Scanner(System.in);
然后,就可以通过scan的各种方法来读取输入了。
- String nextLine() 读取输入的一整行
- int nextInt() 读取输入中的单词(以空格隔开),若读取的不是整型,则抛出异常
- double nextDouble() ……
import java.util.*;
public class Sty {
public static void main (String [] args) {
Scanner scan = new Scanner(System.in);
System.out.println("What's your name?");
String name = scan.nextLine();
System.out.println("How old are you?");
int age = scan.nextInt();
System.out.println("How tall are you?");
double height = scan.nextDouble();
System.out.println("name:" + name);
System.out.println("age:" + age);
System.out.println("height:" + height + "cm");
}
}
Scanner类定义在java.util包中,当使用的类不是定义在基本的java.lang包中时,一定要使用import指定导入相应的包。
文件的输入与输出
要想读入一个文件,需要一个构造Scanner对象。
Scanner scan = new Scanner(new File("test.php"));
然后,就可以通过Scanner的获取文件内容的方法去获取内容。下面是输出一个文件所有内容的代码:
import java.util.*;
import java.io.*;
public class Sty {
public static void main (String [] args) throws Exception {
Scanner scan = new Scanner(new File("test.php"));
while (scan.hasNext()) {
System.out.println(scan.nextLine());
}
}
}
要想写入一个文件,就需要构建一个printWriter对象。在构造器里,需要提供文件名和字符编码。如果文件不存在的话,就会创建该文件。
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
public class Sty {
public static void main (String [] args) throws IOException {
var wrt = new PrintWriter("index.php", StandardCharsets.UTF_8);
wrt.println("<?php");
wrt.println();
wrt.println("phpinfo()");
wrt.close();
}
}