[javaSE] IO流(FIle对象递归文件列表)

获取File对象,new出来,构造参数:String目录名

调用File对象的list()方法,获取String[]数组文件名称

循环数组,列出所有文件包含隐藏文件

递归列出所有的数据

定义一个静态方法showDir(),传递进参数:FIle对象

调用File对象的listFiles()方法,得到File[]数组

循环File[]数组,每个元素是File对象

循环中,调用File对象的isDirectory()方法,判断是否是一个目录,如果是目录,再次调用showDir()方法,参数:File对象

如果不是打印File对象

import java.io.File;

public class FileDemo {

    /**
     * @param args
     */
    public static void main(String[] args) {
        File file = new File("E:/adt-bundle-windows/workspace/IpTest");
        showDir(file);
    }

    /**
     * 递归展示文件
     *
     * @param file
     */
    public static void showDir(File file) {
        System.out.println("目录:" + file);
        File[] files = file.listFiles();
        for (File dir : files) {
            // 限定条件
            if (dir.isDirectory()) {
                showDir(dir);
            } else {
                System.out.println("   文件:" + dir);
            }
        }
    }

}

PHP版:

<?php
class FileDemo{
    public static function main(){
        FileDemo::showDir("E:/adt-bundle-windows/workspace/IpTest");
    }
    /**
    * 递归展示文件
    * @param file
    */
    public static function showDir($file){
        echo "目录:".$file."<br/>";
        $dirObj=dir($file);
        while($files=$dirObj->read()){
            //限定条件
            if(is_dir($file."/".$files) && $files!="." && $files!=".."){
                FileDemo::showDir($file."/".$files);
            }else{
                echo "&nbsp;&nbsp;文件:".$files."<br/>";
            }
        }

    }
}

FileDemo::main();
时间: 2024-11-14 03:33:23

[javaSE] IO流(FIle对象递归文件列表)的相关文章

[javaSE] IO流(对象序列化)

写入 获取ObjectOutputStream对象,new出来,构造参数:FileOutputStream对象目标文件 调用ObjectOutputStream对象的writeObject()方法,参数:要保存的对象 调用ObjectOutputStream对象的close()方法,关闭流 此时会报异常,NotSerialzeableException,是因为目标类没有实现Serializable接口,这个接口没有方法,称为标记接口,会在改变类之后,生成新的序列号,保存的文件读取时会显示错误信息

java-IO流(File对象-深度遍历指定目录下的文件夹和文件)

需求:遍历这个树状结构 File(String pathname) '\\'为了转义'\' // 通过抽象路径pathname 创建一个新的文件或者目录 File parent = new File("E:\\Test\\aa"); // exists 判断文件或目录是否存在:存在为true if(!parent.exists()){ // mkdirs 创建多级目录 parent.mkdirs(); } import java.io.File; public class Test {

Windows下Java File对象创建文件夹时的一个"坑"

import java.io.File; import java.io.IOException; public class DirCreate { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String dirStr="D:"; File dir=new File(dirStr); System.out.println("====

[javaSE] IO流(递归查找指定文件)

递归方法,实现查找目录中以.java为后缀的文件路径,并存入文本文件中 定义一个静态方法fileToLine(),传入参数:File对象目录,List集合对象(List<File> 这样做的目的是因为这个方法会被递归,因此不能在内部创建,并且List集合是引用传递) 调用File对象的listFiles()方法,获取目录数组File[] files 循环这个数组for(File file : files),循环中 判断是否是目录file.isDirectory为真,进行递归fileToLine

IO流,对象序列化

对象序列化 序列化机制允许将实现序列化的Java对象转换成字节序列,这些字节序列可以保存在磁盘上,或者用于网络传输,以备以后重新恢复成原来的对象.序列化机制使得对象可以脱离程序的运行而独立存在. 对象的序列化(Serialize)指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize)则是指从IO流中恢复该Java对象.如要让某个对象支持序列化机制,则必须要让它的类是可序列化的(Serializable).为了让某个类是可序列化的,该类需要继承如下两个接口之一:

JavaSE IO流学习总结

IO流 io流分为字节流和字符流 字节流:输入流父类 InputStream 常用的子类有 FileInputStream BufferedInputStream ? 输出流父类OutputStream 常用的子类有 FileOutputStream BfferedOutputStream 字符流:输入流父类 Reader 常用的子类有BufferedReader InputStreamReader ? 输出流父类 Writer 常用的子类有BufferedWriter OutputStream

Java—IO流 File类的常用API

File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目录)是否存在 if(!file.exists()) { //

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第三阶段学习(一、IO流------File类)

一.IO概述: 把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作.JAVA软件往电脑硬盘上走叫输出. 把硬盘中的数据读取到到内存里叫做:输入(读)Input操作.电脑硬盘上往JAVA软件里走叫输入. 以JAVA软件为参照物. 这种输入输出的动作叫做IO操作. 二.File类(文件类) 2.1定义:File是文件和目录(文件夹)路径名的抽象表现形式,即:JAVA把文件和目录都封装为File对象. 2.2构造函数: //File构造方法无法判定你写的这个文件是否真的存在 //