File基本知识

来源:互联网 发布:日本硕士 知乎 编辑:程序博客网 时间:2024/05/21 09:34

File

                   :用来封装文件或者文件夹的对象

                   File的几种构造方法

                   Filef1 = new File("C:\\a.txt");

                  

                   Filef2 = new File("C:\\","a.txt");

                  

                   Filef3 = new File("c:\\");

                   Filef4 = new File(f3,"a.txt");

                   Filef5 = new File("c:"+File.separator+"a.txt");

                   File.separator= = System.getProperty("file.separator");

      获取

                   publicstatic void getDemo(){

                            Filef =  new File("a.txt");  //相对路径定义对象

                            Stringname = f.getName();//得到文件的名字

                            StringabsPath = f.getAbsolutePath();//得到文件的绝对路径

                            Stringpath = f.getPath();//得到文件的相对路径

                            longlen = f.length();//得到文件的大小

                            longtime =f.lastModified();//得到文件最后修改时间

                            //SimpleDateFormatsdf = new SimpleDateFormat("yyyy-MM-dd");

                            //DateFormatdf = DateFormat.getInstance();//只能以默认方式

                           

                            DateFormatdf = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);

                            Dated = new Date(time);

                            StringtimeStr = df.format(d);

                   lastModified()方法的用处:往往是判断文件是否修改,如果修改则从新读取

                   也就是从新开辟一个线程,用来监视该文件,每三秒监视一次

      创建:

                   Filefile = new File("a.txt");//将文件封装成对象。

                   booleanb = file.createNewFile();

                   返回true则创建成功,否则创建失败

                   和输出流不一样,如果原来文件不存在,则创建,如果原来文件存在,则不创建

                   创建目录

                            Filedir = new File("cc");

                            booleanb  = dir.mkdir();//创建单级目录

                            booleanb = dir.mkdirs();//创建多级目录

                   删除目录:dir.delete(),如果是多级目录删除的是最里面的目录

         删除:file.delete(),如果返回是true,则删除成功      

      判断:

                   判断是不是文件,是不是目录,最好先判断是否存在

                   while(file.exists()){

                            booleanb1 = file.isFile();

                            booleanb2 = file.isDirectory();

                   }

         重命名renameTo(Filedes)

                   Filef1 = new File("c:\\a.txt");

                   Filef2 = new File("c:\\b.txt");

                   f1.renameTo(f2);

                   a.txt重命名为b.txt

                   如果将f2改为newFile("D:\\b.txt");

                   则结果是在D盘中用b.txtc盘无了。也就是剪切

      对盘符的操作;

                   遍历盘符:

                   File[]file = File.listRoots();

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

                   file1.getFreeSpace();

                   file1.getTotalSpace();

                   file1.getUsablespace();

                   应用:获取最大盘符

                   publicstatic void checkPF() {

                   File[]file = File.listRoots();

                   long  len = -1;

                   Fileff = null;

                   for(Filef:file){

                            if(f.getFreeSpace()>len){

                                     len= f.getFreeSpace();

                                     ff= f;

                            }

                            //System.out.println(f);

                   }

                   System.out.println(ff);

         }

      list方法

                   Filefile = new File("c:\\");

                   String[]names = file.list();

                   获取当前目录下的文件及文件夹的名称,包含隐藏文件

                   调用list方法的File对象中封装的必须是目录。

                   否则会发生空指针异常

                   如果访问的是系统级目录也会发生空指针异常

                   如果目录存在但是没有内容,会返回一个数组,但是长度为0

原创粉丝点击