学习java过程中看过几本比较常用的书和视频,发现在教数据的输入和输出时,大多就是简单一说用
//输入一个整数
Scanner input = new Scanner(System.in);
input.nextInt();
//输出
System.out.println(90);
但是我很疑惑,难道是这个部分太弱智了,都不愿意讲吗?可是看着又是Scanner又是System的,应该是个挺强大的类啊。
后来学到最后,我终于弄明白这些是什么了。晚上打开电脑,特意写下来,希望能给初学者一些帮助。
在java中,一般使用java.util.Scanner类从文件中读取文本数据,使用java.io.PrintWriter类向文本文件写入数据。
输入:
PrintWriter类可用来创建一个文件并向文本文件写入数据。 如下所示(来看从键盘输入数据的请不要着急,一步步看懂,马上讲)
PrintWriter output = new PrintWriter(filename);
这时,我们再来看看System.out.println(90);其实System.out 是控制台的标准java对象,这么说java从键盘输入数据应该知道为什么从键盘输入数据是那样的格式了吧。
需要注意的是,必须使用close()方法关闭文件。如果没有调用该方法,数据就不能准确地保存在文件中。
程序员常常会忘记关闭文件。JDK7就提供了下面新的try-with-resources语法来自动关闭文件
try(声明和创建资源){
使用资源来处理文件;
}
import java.io.FileNotFoundException;
public class shuzuDemo {
public static void main(String[] args) throws FileNotFoundException {
java.io.File file =new java.io.File("scores.txt");
if(file.exists()) {
System.out.println("exit");
}
try(
java.io.PrintWriter output = new java.io.PrintWriter(file);
){
output.print("John T Smith");
output.println("90");
}
}
}
输出:
格式:Scanner input = new Scanner(new File(filename));
想必大家都想到了 ,Scanner input = new Scanner(System.in)中的System.in是一个库中已经定义了的属性。