- 论坛徽章:
- 0
|
java.io包提供了大量的流类,其中所有输入流都是InputStream抽象类(字节输入流)和Reader抽象类(字符输入流)的子类,而所有的输出流都是OutputStream抽象类(字节输出流)和Writer抽象类(字符输出流)的子类。
File类:(处理文件和目录)
File对象主要获取文件本身的属性,如文件目录、文件长度、和文件读写权限等,不涉及对文件内容的读写操作。
创建File对象的构造方法有如下三个:
File(String filename)
File(String directoryPath, String filename)
File(File f, String filename) //f是制定一个目录的文件
文件的属性:
经常使用File类下列方法获取文件本身一些信息:
public String getName() //获取文件名
public boolean canRead() //判断文件是否可读
public boolean canWrite() //判断文件是否可写
public boolean exists() //判断文件是否存在
public long length() //获取文件长度(字节单位)
public String getAbsolutePath() //获取文件绝对路径
public String getParent() //获取文件父目录
public boolean isFile() //判断文件是否是一个正常文件,而不是目录
public boolean isDirectory() //判断文件是否是一个(已存在)目录
public boolean isHidden() //判断文件是否是隐藏文件
public long lastModified() //获取文件最后修改时间(时间是从1970年午夜至文件最后修改时刻的毫秒数)
目录:
1、创建目录:
使用File对象调用方法public boolean mkdir()可创建一个目录,成功创建返回true,否则返回false(如果该目录已经存在则返回false)。
2、列出目录中文件:
如果File对象是一个目录,该对象可以调用下列方法列出该目录下的文件和子目录。
public String[] list() //用字符串形式返回目录下的全部文件
public File[] listFiles() //用File对象形式返回目录下的全部文件
文件过滤器:
有时需要列出目录下指定类型文件,可使用File类的两个方法,如下:、
public String[] list(FilenameFilter obj)
public File[] listFiles(FilenameFilter obj)
FilenameFilter是一个接口,该接口有一个方法:
public boolean accept(File dir, String name)
使用list方法时,需要想该方法传递一个实现FilenameFilter接口的对象。list方法执行时,参数不断回调接口方法accept(File dir, String name),参数name是实例化目录的一个文件名,参数dir为调用list的当前目录,当接口方法返回true时,list方法就将目录dir中的文件存放到返回的数组中。
例子:(列出当前目录下全部java文件名称)
import java.io.*;
public class test1 {
public test1() {
// TODO 自动生成构造函数存根
}
public static void main(String[] args) {
File dir = new File("."); //系统中"."表示当前目录,".."表示当前上一级目录,("\"为根目录,但为了转义表示为"\\")
FileAccept acceptCondition = new FileAccept("java");
String[] fileName = dir.list(acceptCondition);
for(int i=0; i
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/84086/showart_1709844.html |
|