File类、递归

File类
File类的构造函数与File类的获取

import java.io.File;
import java.io.FileFilter;

public class MyFileter implements FileFilter{

    public boolean accept(File pathname) {
        return pathname.getName().toLowerCase().endsWith(".java");
    }

}

import java.io.File;

public class Demo01 {
    public static void main(String[] args) {
        method1();//E:\java
        method2();//;  \
        method3();//E:\java
        method4();//E:\java\b.txt
    }
    public static void method1(){
        //构造方法是不会去给你判断该路径的文件或目录是否存在
        //windows下不区分大小写
        File file=new File("E:"+File.separator+"java");
        System.out.println(file);
    }
    public static void method2(){
        //与系统有关的路径分隔符
        String s1=File.pathSeparator;
        System.out.println(s1);
        //与系统有关的名称分隔符
        String s2=File.separator;
        System.out.println(s2);
    }
    public static void method3(){
        File file=new File("E:","java");
        System.out.println(file);
    }
    public static void method4(){
        File file=new File("E:\\java");
        File file2=new File(file,"b.txt");
        System.out.println(file2);
    }
}
文件和文件夹的创建删除等
import java.io.File;
import java.io.IOException;

public class Demo02 {
    public static void main(String[] args) throws IOException {
        method1();//E:\eclipsework\Day01\src
        method2();//a  E:\java\a
        method3();//319984
        method4();
        method5();
        method6();
        method7();
        method8();
        method9();
    }
    public static void method1(){
        File file=new File("src");
        //如果相对路径,返回的是该类根目录的绝对路径
        //返回该文件对象的绝对路径
        String path=file.getAbsolutePath();
        System.out.println(path);
    }
    public static void method2(){
        File file=new File("E:\\java\\a");
        String name=file.getName();//获取文件或文件夹名
        String path=file.getPath();//获取绝对路径
        System.out.println(name);
        System.out.println(path);
    }
    public static void method3(){
        File file=new File("E:\\java\\eclipse\\eclipse.exe");//获取文件长度
        long size=file.length();
        System.out.println(size);
    }
    public static void method4() throws IOException{
        File file=new File("E:\\java\\c");//创建文件
        boolean flag=file.createNewFile();
        System.out.println(flag);
    }
    public static void method5(){
        File file=new File("E:\\java\\c");//删除文件    直接彻底删除
        boolean flag=file.delete();
        System.out.println(flag);
    }
    public static void method6(){
        File file=new File("F:\\java\\c");//判断该文件是否在该路径下
        boolean flag=file.exists();
        System.out.println(flag);
    }
    public static void method7(){
        File file=new File("E:\\java\\a");//判断该文件对象是否为文件夹
        boolean flag=file.isDirectory();
        System.out.println(flag);
    }
    public static void method8(){
        File file=new File("E:\\java\\b.txt");//判断该文件对象是否为文件
        boolean flag=file.isFile();
        System.out.println(flag);
    }
    public static void method9(){
        File file=new File("E:\\java\\d");//创建文件夹
        File file1=new File("E:\\java\\e\\f\\g");//创建一个或多个文件夹
        boolean flag=file.mkdir();
        boolean flag1=file1.mkdirs();
        System.out.println(flag);
        System.out.println(flag1);
    }
}
listFiles()方法介绍
import java.io.File;

public class Demo03 {
    public static void main(String[] args) {
        //method1();
        //method2();
        method3();
    }
    public static void method1(){
        File file=new File("E:\\java");
        //获取的是文件名的字符串 没啥用
        String[] files=file.list();
        for(String s:files){
            System.out.println(s);
        }
    }
    public static void method2(){
        File file=new File("E:\\java");
        //获取文件夹下所有文件对象
        File[] files=file.listFiles();
        for(File f:files){
            System.out.println(f);
        }
    }
    //找出文件夹里.java类型的文件
    public static void method3(){
        File file=new File("E:\\java");
        File[] files=file.listFiles(new MyFileter());
        for(File f:files){
            System.out.println(f);
        }
    }
}
递归
递归的概述
示例:
public class Demo04 {
    //递归:自己调自己,要给出口
    public static void main(String[] args) {
        System.out.println(getSum(20));//210
    }
    //求100+99+98+...+1的和
    public static int getSum(int n){
        if(n==1){
            return 1;
        }
        return n+getSum(n-1);
    }
}
//获取文件夹里的文件
import java.io.File;

public class Demo05 {
    public static void main(String[] args) {
        File file=new File("E:\\java\\a");
        getFile(file);
    }
    public static void getFile(File dir){
        File[] files=dir.listFiles(new MyFileter());
        System.out.println(dir);
        for(File f:files){
            //如果该文件对象是文件夹调自己
            if(f.isDirectory()){
                getFile(f);
            }else{
            System.out.println(f);
            }
        }
    }
}

原文地址:https://www.cnblogs.com/zhaotao11/p/10248096.html

时间: 2024-10-08 23:13:36

File类、递归的相关文章

day23<File类递归练习>

File类递归练习(统计该文件夹大小) File类递归练习(删除该文件夹) File类递归练习(拷贝) File类递归练习(按层级打印) 递归练习(斐波那契数列) 递归练习(1000的阶乘所有零和尾部零的个数) 递归练习(1000的阶乘尾部零的个数) 集合练习(约瑟夫环)   ###23.01_File类递归练习(统计该文件夹大小) 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小 * 从键盘接收一个文件夹路径 1,创建键盘录入对象 2,定义一个无限循环  3,将键盘录入的结果存储并封装成F

黑马程序员-File类+递归的简单应用

Java File类   Java.io.File Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目录.通过以下构造方法创建一个File对象. 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例. File(File parent, String child); 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例. File(String pathname) 根据 pa

java File类-递归遍历目录结构和树状展现

f.listFiles(); //返回目录下的所有子目录和子文件版本一:未加计数器分层次 static void f(File f) { System.out.println(f.getName()); if(f.isDirectory()) { File[] files=f.listFiles(); //如果是目录,返回目录下的所有子目录和子文件 for(File fi:files) { f(fi); } } } 版本二:加计数器分层次 static void f(File f,int lev

Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹

package cuiyuee; import java.io.File; import java.util.ArrayList; import java.util.List; public class GetAllDirectory { public static void showDirectory(File file){ File[] files = file.listFiles(); for(File a:files){ System.out.println(a.getAbsoluteP

[Java] File类 递归 获取目录下所有文件/文件夹

package com.xiwi; import java.io.*; import java.util.*; class file{ public static void main(String args[]){ System.out.println("file Go..."); // 这里改成你要遍历的目录路径 recursiveFiles("F:\\fileText"); System.out.println("file End."); }

异常、Throwable、finally、File类(十九)

1.异常的概述和分类 * A:异常的概述 * 异常就是Java程序在运行过程中出现的错误.* B:异常的分类 * 通过API查看Throwable * Error * 服务器宕机,数据库崩溃等 * ExceptionC:异常的继承体系 * Throwable * Error * Exception * RuntimeException 2.JVM默认是如何处理异常的 * :JVM默认是如何处理异常的 * main函数收到这个问题时,有两种处理方式: * a:自己将该问题处理,然后继续运行 * b

IO流----File类的常用方法

package com.qf.day18_3; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.util.Date; /** * File类 * * @author wgy * */ public class Demo1 { public static void main(String[] args) throws Exception { // separato

Java之File类及递归树形展示目录_20150804

Java之File类及递归树形展示目录 20150804 下面的构造函数可以用来生成File 对象: File(String directoryPath)          File(String directoryPath, String filename)          File(File dirObj, String filename) 这里,directoryPath是文件的路径名,filename 是文件名,dirObj 一个指定目录的File 对象.下面的例子创建了三个文件:f1

java基础知识回顾之javaIO类--File类应用:递归深度遍历文件

代码如下: package com.lp.ecjtu.File.FileDeepList; import java.io.File; public class FileDeepList { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File dir = new File("E:"+File.separator+"demodir

结合File类浅析递归的使用

递归算法就是方法自身直接或者间接地调用到了自身,它是一种写起来很简单,但理解起来不那么简单的算法. 一个功能在被重复地调用,并且运算的结果和上一次的调用有关, 这种时候,可以使用递归. * 注意: * 1.递归一定要明确递归结束的条件,否则会栈溢出 * 2.注意解决问题的递归次数,如果次数过多,也会发生栈溢出. 比较经典的例子有斐波那契数列.汉诺塔等,这里我们谈谈递归在File类中的使用. 一.牛刀小试 先看,两个简单的例子来了解递归. 1 public class RecursionDemo