Java的File类

1、File类初识

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


2、文件常用方法:    

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

代码演示:

import java.io.File
public 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.File
public 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对象的API
		File[] 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


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值