Java的File类

来源:互联网 发布:广电网络wifi上不了网 编辑:程序博客网 时间:2024/05/17 11:59

1、File类初识

      java中对文件和目录的操作都是通过File类操作的,新建、删除、命名操作都可以,但是如果想要访问文件的内容,就不能靠File类了,还要需要输入输出流。


2、文件常用方法:    

.exist() 判断文件/文件夹是否存在。.delete() 删除文件/文件夹。.separator 设置分隔符。(\\或/).isFile() 判断是否为文件。(若文件不存在,也返回false).createNewFile() 创建文件。.getAbsolutePath() 返回绝对路径。.getName() 返回文件/目录的名字。.getParent() 返回父目录路径。
.length()获取文件的大小(字节数),如果文件不存在返回0L,如果是文件夹也返回OL.
.lastModified()获取最后一次修改的时间。
.isHidden()是否是一个隐藏的文件或是否是隐藏的目录。

代码演示:

import java.io.Filepublic class File_Test{    //文件的操作    public static void main(String []args){        //windows下的路径:        File file = new File("D:\\test\\java.txt");        /*linux下的路径:        File file = new File("D:/test/java.txt");        如果要考虑跨平台:        File file = new File("D:"+File.separator + "test" +File.separator +"java.txt")        */        if(file.exists()){            //文件存在就删除            System.out.println("this file has existed!");            file.delete();//删除文件        }else{            //如果文件不存在,就创建新的            file.createNewFile();        }        System.out.println(file.isFile());//判断一个file是否为文件        System.out.println(file.getAbsolutePath());//返回file的绝对路径    }}



3、文件夹的常用方法

.mkdir() 创建一级文件夹。.mkdirs() 创建多级目录。
.isDirectory() 判断是否为目录。(若目录不存在,也返回false)
.exist() 判断文件/文件夹是否存在。.delete() 删除文件/文件夹。
list()方法返回的是目录下的直接文件或目录的名称,包含隐藏文件。
listFile()方法返回的是目录下的文件或目录实例。

文件夹常用方法代码演示:

import java.io.Filepublic class Direc_Test{    //文件夹的操作,以遍历一个目录为例    public static void Directorylist(File dir)throws IOException{        if(!dir.exists()){            System.out.println("该目录不存在!");            dir.mkdir();//创建一级文件夹:D:\\java  只有一个java文件夹   D:\\java\\test 不会创建成功            dir.mkdirs();// D:\\java\\test 创建成功 两个文件夹                   }        else if(!dir.isDirectory()){             System.out.println("这不是个目录");        }        else{            //遍历直接子文件          String[] filenames = dir.list(); // 返回的是字符串数组 直接子的名称 不包含子目录下的内容  for (String string : filenames) {System.out.println(dir + ":\\" + string);  }  //遍历整个文件,包括子文件夹下的文件 // 如果要遍历子目录下的内容就需要构造成File对象做递归操作,File提供了返回File对象的APIFile[] files = dir.listFiles(); // 返回的是直接子目录(文件)的抽象if(files!=null && files.length > 0){for (File file : files) {if(file.isDirectory()){// 递归Directorylist(file);}else{System.out.println(file);}}        }    }}

其中File的操作时会遇到IOException,关于异常请看http://blog.csdn.net/jin970505/article/details/78422468


原创粉丝点击