zoukankan      html  css  js  c++  java
  • for(File f:fs){
                    if(f.isDirectory()){
                        kg(len);
                        System.out.println(f.getName());
                        printf(f,len+1);//在这里面应该是f,而不是file,因为遍历的是f
                    }else{
                        kg(len);
                        System.out.println(f.getName());
                    }
                }
    public static void kg(int length){
            for(int i=0;i<length;i++){
                System.out.print("  ");//这里不需要println,不用换行,直接输出空格就是了
            }
        }

    问题:主要是细节问题和仔细程度不够

     

    java.io.File类
    1、凡是与输入输出相关的类,接口等都定义在java.io包下
    2、File是一个类,可以有构造器创建其对象。此对象对应着一个文件(.txt.avi,ppt等)或文件目录
    3、File类对象与平台无关的
    路径:绝对路径:包括盘符在内的完整的文件路径
    相对路径:在当前文件目录下的文件的路径

    getName()获取文件名
    getPath()获取文件路径
    getAbsoluteFile()获取绝对文件
    getAbsolutePath()获取绝对路径
    getParent()获取上一级文件
    renameTo(File newName)重命名eg:file1.renameTo(file2):file1重命名为file2 要求:file1必须存在,file2不一定存在
    exists()文件是否存在
    canWrite()是否可写
    canRead()是否可读
    isFile()是否是文件
    isDirectory()判断是不是一个目录
    lastModified()最后一次操作的时间
    length()长度
    mkDir()创建目录
    mkDirs()创建上一及和本级目录
    list()列出文件中的内容,字符串
    File[] listFiles()获取这个路径下的文件和文件夹
    createNewFile()创建一个新的文件
    delete() 删除


    I/O流
    1、按照处理数据的单位不同分为:字节流(以stream结尾)字符流(以reader和writer

    2、流的分类
    按照数据流的方向
    输入流(Input), 输出流(Output)
    输入流: 从文件往程序走数据
    输出流: 从程序往文件走数据

    按照处理数据的单位不同:
    八大数据类型所占字节数:
    byte(1), short(2), int(4), long(8)
    float(4), double(8)
    boolean(1)
    char(2)

    字节流(以stream结尾的), 字符流(以Reader, Writer结尾的)
    字节流: 一个字节占8位, 以一个字节为单位读数据
    字符流: 一个字符占两个字节, 以一个字符为一个单位

    按照功能分:
    节点流, 处理流
    节点流: 只有一个根管道套在文件上进行传输
    处理流: 将节点流处理一下, 增强管道的功能, 相当于在管道上套一层

    package shipin;
    
    import java.io.File;
    
    public class TextFile {
        public static void main(String[] args) {
            File file =new File("E:\学习");
            printf(file, 0);
        }
        public static void printf(File file,int len){
            if(file.exists()){
                File[] fs=file.listFiles();
                for(File f:fs){
                    if(f.isDirectory()){
                        kg(len);
                        System.out.println(f.getName());
                        printf(f,len+1);
                    }else{
                        kg(len);
                        System.out.println(f.getName());
                    }
                }
            }else{
                System.out.println("文件不存在");
            }
        }
        public static void kg(int length){
            for(int i=0;i<length;i++){
                System.out.print("  ");
            }
        }
    
    }

  • 相关阅读:
    JavaScript中的setMonth()方法的小问题 解决:setMonth(month, 1)
    Bootstrap的Model源码详细注释 (转)
    中检测到有潜在危险的 Request.Form 值。
    JQuery EasyUI DataGrid获取当前行
    VS 开发必用插件
    C# MVC模式 404 500页面设置方法
    (转)高性能网页开发的14条军规
    (转)mysql百万级以上查询优化
    Win7/Win8安装"我们无法创建新的分区,也找不到现有的分区"的解决方法
    SQL Server2008 删除登录记录
  • 原文地址:https://www.cnblogs.com/NCL--/p/7266651.html
Copyright © 2011-2022 走看看