1 java.io.File类

1 java.io.File类

1.1 构造方法

  • 参数为路径名字符串类型:public File(String pathname)

    举例代码

    File file = new File("C:/XXX");
    
  • 传入父路径名和子路径名:public File(String parentPath , String childPath)

    举例代码

    public File("C:/aa", "aa.txt");
    
  • 传入父级对象和子路径名:public File(File parentFile , Stirng childPath )

    举例代码

    File parentDir = new File("d:\\aaa");
    String child = "bbb.txt";
    File file4 = new File(parentDir, child);
    

1.2 常用方法

  • public String getName() :返回由此File表示的文件或目录的名称

  • public long length() :返回由此File表示的文件的长度

  • public String getPath() :将此File转换为路径名字符串。

  • public long lastModified() :返回File对象对应的文件或目录的最后修改时间(毫秒值)

  • public boolean exists() :此File表示的文件或目录是否实际存在

  • public boolean isDirectory() :此File表示的是否为目录

  • public boolean isFile() :此File表示的是否为文件

  • public boolean canRead() :判断File对象对应的文件或目录是否可读

  • public boolean canWrite() :判断File对象对应的文件或目录是否可写

  • public boolean isHidden() :判断File对象对应的文件或目录是否是否隐藏

  • public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。

    示例代码

     File f = new File("d:/aaa.txt");
     f.createNewFile();
    
  • public boolean delete() :删除由此File表示的文件或目录。 只能删除空目录。

    示例代码

    f.delete();
    
  • public boolean mkdir() :创建由此File表示的目录。

  • public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。

1.3 相对路径与绝对路径

  • 绝对路径:从盘符开始的路径,这是一个完整的路径。

    实例代码

    File file = new File("d:\\java\\HelloIO.java");
    
  • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。

    示例代码

    File file = new File("./HelloIO.java");  //  "./"表示当前项目下
    

1.4 目录的遍历

1.4.1 常用方法

  • public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
  • public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录
  • public File[] listFiles(FileFilter filter) :返回所有满足指定过滤器的文件和目录
  • public File[] listFiles(FilenameFilter filter) :返回所有满足指定过滤器的文件和目录

1.4.2 方法的运用示例

例如使用递归实现打印指定目录下的文件名(目录不止一级)

示例代码

public class Test {

	public static void main(String[] args) {
		/*
		 * 遍历指明目录下的所有[不止一级]的文件,输出所有的文件名
		 */
		File file = new File("c:/bbb"); //bbb文件目录下存在多层子目录和文件
		show(file);

	}
	public static void show(File file){
		File[] listFiles = file.listFiles();   //得到File目录中的所有的子文件或目录,返回File类型
		for (File file2 : listFiles) {         //遍历
			if(file2.isFile()){                //判断当前File是否是文件
				System.out.println(file2.getName());   //打印文件名
			}
			else if(file2.isDirectory()){    //当前文件类型为目录类型
				System.out.println(file2.getName());   //得到目录名
				show(file2);   //递归打印
			}
		}			
	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值