Java 1.2.3 文件输入与输出

文件读取

要想对文件进行读取,就需要一个用 File 对象构造一个 Scanner 对象,如下所示:

Scanner in = new Scanner(Paths.get("myfile.txt"), "UTF-8"); 

(读取一个文本文件时,要知道它的字符编码,这里以"UTF-8"为例。如果省略字符编码, 则会使用运行这个 Java 程序的机器的“ 默认编码”。如果在不同的机器上运行这个程序, 可能会有不同的表现。)

之后,就可以利用前面介绍的任何一个 Scanner方法对文件进行读取。

注意:一定不要写成下面的形式:

Scanner in = new Scannerrmyfile.txt"); 

这个 Scanner 将字符串解释为数据, 而不是文件名,出错时不容易发现。

写入文件

需要构造一个 PrintWriter 对象。在构造器中,只需要提供文件名:

PrintWriter out = new PrintWriter("myfile.txt", "UTF-8"); 
//如果文件不存在,则自动创建该文件

之后,可以像输出到 System.out—样使用 print、 println 以及 printf 命令。

注意

  如果用一个不存在的文件构造一个 Scanner, 或者用一个不能被创建的文件名构造一个 PrintWriter, 那么就会发生异常。Java 编译器认为这些异常比“ 被零除” 异常更严重。
  现在,应该告知编译器: 已经知道有可能出现“ 输人 / 输出” 异常。这需要在 main 方法中用 throws 子句标记,如下所示:

public static void main(String[] args) throws IOException 
{ 
	Scanner in = new Scanner(Paths.get("myfi1e.txt"), "UTF-8");
	···
}

你可能感兴趣的:(Java)