java.io.File
使用 / 和相对路径可以提高可移植性:
- / 是 Java 的路径分隔符, 可以在任意平台上使用;
- 使用绝对路径,如:new File("C:\\Workspace\\Sample.java") 只能在Windows 平台上运行;
\ 是 Java 的特殊字符,需要使用 \\ 表示字面意思上的 \
length() 是以 byte 为单位
lastModified() 返回 UNIX 时间截(1970-01-01 00:00:00 ),单位为毫秒。可以用于 new java.util.Date(file.lastModified())
java.io.PrintWriter
PrintWriter() 可能会抛出 IOExceptin
必须使用 close() 关闭文件,否则数据可能不会被保存到文件中。
try-with-resources
JDK 7 提供了 try-with-resources 语法来自动关闭文件
/*
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) Client VM (build 25.111-b14, mixed mode, sharing)
*/
import java.io.PrintWriter;
public class TestTryWithResources {
public static void main(String[] args) throws Exception {
try(PrintWriter output = new PrintWriter("sample.txt")) {
output.println("Testing try-with-resources syntax.");
} //运行到此处自动调用 output.close();
}
}
try-with-resources:
必须实现 AutoCloseable 接口;
必须在同一语句中声明和创建对象;
可以在 try 后面的括号声明并创建多个对象,必须用分号隔开;
操作对象的语句块必须紧跟着 try()
java.util.Scanner
nextByte(), nextShort(), nextInt(), nextLong(), nextFloat(), nextDouble, next()
先跳过空白字符(空格符, 换行符,制表符),读取对应类型:
1.类型不匹配时抛出 java.util.InputMismatchException
2.类型匹配是返回对应类型,next()返回不包含空白字符字符串
nextLine() 不跳过空白字符,直接返回行分隔符前的字符串(在终端输出时,Enter 键被视为行分隔符)
Windows 的分隔符为 \r\n
UINX 为 \n
可使用 System.getProperty(“line.separator") 获取当前操作系统的行分隔符,该方法返回 String 类型
---------------------------------------------------
使用 new File() 对象构造 I/O 流可以在构造前检查文件的属性,如:检查是否存在、可 读 / 写