笔记汇总:《Java面向对象程序设计》学习笔记
# 第 12 章 输入流与输出流
12.1 File 类
File 对象主要用来获取文件本身的一些信息,例如文件所在的目录、文件的长度和文件的读/写权限等,不涉及对文件的读/写操作。
创建 File 对象的构造方法有以下 3 个:
File(String filename);
File(String directoryPath,String filename);
File(File f,String filename);
其中, filename 是文件名字 ,directoryPath 是文件的路径, f 是指定成一个目录的文件。默认是当前目录。
12.1.1 文件的属性
常用方法,其他见书P329
- public String getName() :获取文件的名字。
- public boolean canRead() :判断文件是否是可读的。
- public boolean canWrite() :判断文件是否可以被写入。
- public boolean exists() :判断文件是否存在。
- public long length() :获取文件的长度(单位是字节)。
// 例1:使用 File 类的一些方注,获取某些文件的信息
package tom.jiafei;
import java.io.*;
public class Example12_1 {public static void main(String args[]) {System.out.println(E.class.getPackage().getName); // tom.jiafei 输出包名File f1=new File("C:\\chapter12","Example12_1.java");File f2=new File("c:\\chapter11");System.out.println(f1.getName()+"是可读的吗:"+f1.canRead());System.out.println(f1.getName()+"的长度:"+f1.length());System.out.println(f1.getName()+"的绝对路径:"+f1.getAbsolutePath());System.out.println(f2.getName()+"是目录吗?"+f2.isDirectory());}
}
// 例2:列出当前目录(应用程序所在的目录)下全部 java 文件的名字
// Example12_2.java
import java.io.*;
public class Example12_2 {public static void main(String args[]) {File dir=new File(".");FileAccept fileAccept=new FileAccept(); // 过滤fileAccept.setExtendName("java"); // 设置文件后缀名String fileName[]=dir.list(fileAccept); // 把所有满足条件的文件列出来,存入数组for(String name:fileName) {System.out.println(name);}}
}// FileAccept.java
import java.io.*;
public class FileAccept implements FilenameFilter {private String extendName;public void setExtendName(String s) {extendName="."+s;}public boolean accept(File dir,String name) { //重写接口中的方法return name.endsWith(extendName);}
}
大概率不会考,了解就行
// 例3:Runtime 对象打开 windows 平台上的记事本程序并运行了例子 11.6
import java.io.*;
public class Example12_3 {public static void main(String args[]) {try{ Runtime ce=Runtime.getRuntime();File file=new File("c:/windows","Notepad.exe");ce.exec("java Example11_6"); ce.exec(file.getAbsolutePath());}catch(Exception e) {System.out.println(e);} }
}
to be continued~