首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

资料的用法

2012-11-04 
文件的用法一、文件用法????? [1]File类位于Java.io包中,可以通过File对象的方法创建文件对象、删除文件、列

文件的用法

一、文件用法

????? [1]File类位于Java.io包中,可以通过File对象的方法创建文件对象、删除文件、列表目录下的文件,判断文件是目录还是正是文件,文件系统的基本规则是:

???????? ?1、文件全名包含文件路径名和扩展名,单独讲一个文件名字时,是不带路径但带扩展名的文件名。

??????? ? 2、同一目录下不可能存在同名的目录和真实文件,系统主要有目录型文件和真是文件两种,真实文件可以没有扩展名,另还有不需计算的虚拟内存文件;

????????? 3、相对路径指不以文件分割符开头的文件路径,绝对路径是以根目录开头的路径,当前目录是指相对于程序运行时的目录算起的相对路径。

???????? ?4、liunx上,目录分隔符为/? 路径分隔符为:

??????????? ? 在windows 上,目录分隔符为\ 路径分隔符为;

?

????? [2]File类属性

????????? public static String pathSeparator:表示当前操作系统的路径分隔符

????????? public static String separator:表示当前操作系统的名字分隔符

??????[3]File类构造器

????????? File(File parent,String child)? 在父文件目录下创建名为child的子文件对象

????????? File(String pathname)?????????? 创建指向pathname名字下的文件对象

??????????File(String parent,String child)以parent字符串为父录名,创建一个指向pathname的File对象

????? [4]重要方法

????????? boolean exists(); 判断文件是否存在

????????? String getName();得到文件名字(不带路径)

??????????boolean isDirectory();判断File对象指向的文件是否为目录

????????? boolean isFile();判断File对象指向的文件是否为真实文件

????????? boolean mkdir();根据对象路径创建目录(仅可创建一级目录,且不能重名)

????????? boolean mkdirs();根据对象路径创建多级目录

??????????long length();得到File对象指向的文件长度

????????? boolean delete();从磁盘上删除File对象指定的文件

?

package File;/** * 统计文件个数方法 * @author Administrator * */import java.io.File;public class StatisticFile {public static void main(String []args){    StatisticFile sf = new StatisticFile();    String path = "E:\\java\\draw";    int num = sf.statistic( path);    System.out.println("该目录下的文件个数共"+num);    long space = sf.space(path);    System.out.println("该目录下的文件大小为"+space);    }    /**     * 统计指定路径下的标准文件个数     * @param path 给定路径     * @return 给定路径下的文件个数     */    public int statistic(String path){     int count = 0;     //根据给定路径创造文件对象     File file = new File(path);          //判断该路径是否存在     if(!file.exists()){     System.out.println("此文件路径不存在");     return 0;     }          //如果存在,装入数组中,并判断是目录还是文件     File[] fl = file.listFiles();          if(fl == null){         System.out.println("给定路径非目录!");         return 0;              }     //遍历数组,输出文件地址     for(int i=0;i<fl.length;i++){     //根据已知路径获取文件     File f = fl[i];          //得到文件路径     String str = f.getAbsolutePath();     //如果找到的是一个标准文件     if(f.isFile()){     System.out.println("找到一个文件"+str);     count++;     }else if(f.isDirectory()){     //如果找到的是一个目录          //递归调用     count+=statistic(str);     }     }     return count;    }    /**     * 统计指定目录下标准文件的总空间         * @param path 指定目录     * @return 文件的总空间     */    public long space(String path){        long sp = 0;        //根据已知目录创造文件对象        File fl = new File(path);                //判断该路径是否存在        if(!fl.exists()){            System.out.println("该路径不存在!");            return 0;        }        //如果存在,装入数组中        File [] f = fl.listFiles();        //判断给定路径是目录还是文件        if(f==null){        System.out.println("给定路径不是目录!");        return 0;        }        //存在,遍历文件        for(int i=0;i<f.length;i++){        //创建文件对象        File file = f[i];         //获取文件的路径        String str = file.getAbsolutePath();        if(file.isFile()){            //获取对象的大小            long lo = file.length();            System.out.println("文件"+str+"的大小是"+lo);            sp+=lo;        }else if(file.isDirectory()){        //递归调用        sp+=space(str);        }                }                        return sp;        }}

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

热点排行