IO:File类(java.io.File)

时间:2024-06-30 15:37:38

public class File extends Object implements Serializable, Comparable<File>

构造方法:

public File(String pathname)

按照完整路径实例化

public File(File parent, String child)

按照父路径和文件名实例化

成员:

public static final String separator

目录分隔符 ('\'、'/'等)

public static final String pathSeparator

多路径切换符(';'、':'等)

实例:

package wiki.jjcc.test.file;

import java.io.File;

public
class FileTest {

    public
static
void main(String[] args) {

        System.out.println("windows系统中");

        System.out.println("File.pathSeparator="+"["+File.pathSeparator+"]");

        System.out.println("File.separator="+"["+File.separator+"]");

    }

}

windows系统中

File.pathSeparator=[;]

File.separator=[\]

常用方法:

方法

功能

public boolean createNewFile()throws IOException

创建新文件

public boolean delete()

删除文件

public boolean exists()

判断文件是否存在

public String getName()

取得文件名

public String getParent()

取得父路径

public File getParentFile()

取得父路径

public String getPath() 

取得完整路径

public boolean isDirectory() 

判断是否为目录

public boolean isFile() 

判断是否为文件

public long lastModified() 

最后修改日期

public long length() 

取得文件大小

public File[] listFiles() 

取得所有

public String[] list() 

 

public boolean mkdir() 

创建单个目录

public boolean mkdirs() 

创建多级目录

public boolean renameTo(File dest) 

文件重命名

public String toString() 

将File对象转换为String对象

 

实例1:

package wiki.jjcc.test.file;

import java.io.File;

import java.io.IOException;

public
class FileTest2 {

    public
static
void main(String[] args) {

        String sep = File.separator;

        File file1 = new File("d:"+sep+"temp"+sep+"test.txt");

        if(file1.exists()){

            file1.delete();

        }else{

            try {

                file1.createNewFile();

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

    }

}

以上例子判断相应文件是否存在,若存在则删除文件,若不存在则创建文件。

 

 

实例2:

package wiki.jjcc.test.file;

import java.io.File;

import java.io.IOException;

public
class FileTest2 {

    public
static
void main(String[] args) {

        String sep = File.separator;

        File file1 = new File("d:"+sep+"temp"+sep+"adir");

        if(file1.exists()){

            file1.delete();

        }else{

            try {

                file1.createNewFile();

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

    }

}

当"adir"文件夹存在时会删除,当文件夹不存在时会新建一个普通文件。

 

实例3:列出D盘下所有文件

package wiki.jjcc.test.file;

 

import java.io.File;

 

public class FileTest4 {

    public static void main(String[] args) {

        String sep = File.separator;

        File file1 = new File("d:"+sep+"temp"+sep+"test.txt");

        File file2 = new File("D:\\");

        for(File x :File.listRoots()){

            System.out.println(x);

        }

        list(file2);

    }

    public static void list(File f) {

        if (f.isDirectory()) {

            File[] temp = f.listFiles();

            //因为磁盘下有些系统目录无法访问,故需要加上以下判断

            if(temp!=null){

                for (File x : temp) {

                    list(x);

                }

            }

        } else {

            System.out.println(f);

        }

    }

}

实例4:列出D盘下文件名包含java的所有的文件

package wiki.jjcc.test.file;

 

import java.io.File;

 

public class FileTest4 {

    public static void main(String[] args) {

        File file2 = new File("D:\\");

        list(file2,"java");

    }

    public static void list(File f,String keyWord) {

        if (f.isDirectory()) {

            File[] temp = f.listFiles();

            //因为磁盘下有些系统目录无法访问,故需要加上以下判断

            if(temp!=null){

                for (File x : temp) {

                    list(x,keyWord);

                }

            }

        } else {

            if(f.getName().contains(keyWord)){

                System.out.println(f);

            }

        }

    }

}