第一篇 IO流技术(一)

package com.zzp.demo;

import java.io.File;

public class PathDemo01 {
    public static void main(String[] args) {
        String path = "/IO/src/com/zzp/demo/4.JPG";
        System.out.println(File.separatorChar);
        
        //第一种方式 使用“/” 一般使用第一种
        path = "/IO/src/com/zzp/demo/4.JPG";
        
        //第二种方式   使用File.separator 常量拼接
        path = File.separator +"IO"+File.separator+"src"+
                File.separator +"com"+File.separator+"zzp"+
                File.separator +"demo"+File.separator+"4.JPG";
        System.out.println(path);
    }
}

File构造器

package com.zzp.demo;

import java.io.File;

/**
 * 
 * file构造器
 * @author java
 *
 */
public class FileDemo01 {
    public static void main(String[] args) {
        String path = "F:/workspace1/IO/src/com/zzp/demo/4.JPG";
        
        //1、构建file对象  直接丢一个路径
        File src = new File(path);
        System.out.println(src.length());
        
        //2、构建file对象  父路径+子名称
        File src01 = new File("F:/workspace1/IO/src/com/zzp/demo/","4.JPG");
        System.out.println(src01.length());
        
        //3、构建file对象  父对象+子名称
        File src02 = new File(new File("F:/workspace1/IO/src/com/zzp/demo/"),"4.JPG");
        System.out.println(src02.length());
    }
}

File相对路径和绝对路径的问题

package com.zzp.demo;

import java.io.File;

/**
 * 
 * file相对路径和绝对路径的问题
 * @author java
 *
 */
public class FileDemo02 {
    public static void main(String[] args) {
        //1、存在盘符,这就是绝对路径  直接放进path
        String path = "F:/workspace1/IO/src/com/zzp/demo/4.JPG";
        File src = new File(path);
        System.out.println(src.getAbsolutePath());
        
        //2、不存在盘符,就是相对路径 相对于当前目录
        System.out.println(System.getProperty("user.dir"));
        src = new File("4.JPG");
        System.out.println(src.getAbsolutePath());
        
        //3、构建一个不存在的路径
        src = new File("5.JPG");
        System.out.println(src.getAbsolutePath());
    }
}

名称或路径
* getName() getPath()
* getAbsolutePath()
* getParent()

package com.zzp.demo;

import java.io.File;

/**
 * 
 * 名称或路径
 * getName()  getPath()
 * getAbsolutePath()
 * getParent()
 * @author java
 *
 */
public class FileDemo03 {
    public static void main(String[] args) {
        //1、存在盘符,这就是绝对路径  直接放进path
        String path = "F:/workspace1/IO/src/com/zzp/demo/4.JPG";
        File src = new File(path);
        
        System.out.println("名称:"+src.getName());
        System.out.println("路径:"+src.getPath());
        System.out.println("绝对路径:"+src.getAbsolutePath());
        System.out.println("父路径:"+src.getParent());
        System.out.println("父对象:"+src.getParentFile().getParent());
    }
}

文件的状态
* 1、存在 exists()
* 2、文件 isFile()
* 3、文件夹 isDirectory()

package com.zzp.demo;

import java.io.File;

/**
 * 
 * 文件的状态
 * 1、存在 exists()
 * 2、文件 isFile()
 * 3、文件夹 isDirectory()
 * @author java
 *
 */
public class FileDemo04 {
    public static void main(String[] args) {
        //1、存在盘符,这就是绝对路径  直接放进path
        String path = "F:/workspace1/IO/src/com/zzp/demo/4.JPG";
        File src = new File(path);
        
        System.out.println("是否存在:"+src.exists());
        System.out.println("是否是文件夹:"+src.isDirectory());
        System.out.println("是否是文件:"+src.isFile());
        
        //完整的文件状态
        if(null == src || !src.exists()){
            System.out.println("文件不存在");
        }else{
            if(src.isFile()){
                System.out.println("文件操作");
            }else{
                System.out.println("文件夹操作");
            }
        }
    }
}

创建目录
* 1、mkdir() 确保上级目录存在,不存在创建失败
* mkdirs() 上级目录不存在,一同创建

package com.zzp.demo;

import java.io.File;

/**
 * 
 * 创建目录
 * 1、mkdir() 确保上级目录存在,不存在创建失败
 * mkdirs() 上级目录不存在,一同创建
 * 
 * @author java
 *
 */
public class DirDemo01 {
    public static void main(String[] args) {
        File src = new File("F:/workspace1/IO/src/com/zzp/demo01");
        boolean flag = src.mkdir();
        System.out.println(flag);
        
        src = new File("F:/workspace1/IO/path");
        boolean flag01 = src.mkdirs();
        System.out.println(flag01);
    }
}

列出下一级
* 1、list():列出下一级名称
* 2、listFiles():列出下一级对象
* 3、列出所有的根路径listRoots()

package com.zzp.demo;

import java.io.File;

/**
 * 
 * 列出下一级
 * 1、list():列出下一级名称
 * 2、listFiles():列出下一级对象
 * 3、列出所有的根路径listRoots()
 * @author java
 *
 */
public class DirDemo02 {
    public static void main(String[] args) {
        File src = new File("F:/workspace1/IO");
        
        //列出下一级的名称
        String[] subName = src.list();
        for(String s : subName){
            System.out.println(s);
        }
        
        System.out.println("--------------------------");
        
        //列出下一级的文件对象
        File[] listFiles = src.listFiles();
        for (File file : listFiles) {
            System.out.println(file.getAbsolutePath());
        }
        
        System.out.println("--------------------------");
        File[] listRoots = src.listRoots();
        for(File lr : listRoots){
            System.out.println(lr.getAbsolutePath());
        }
    }
}

递归:方法自己调用自己
*递归头:何时结束递归
*递归体:重复调用

package com.zzp.demo;

import java.io.File;

/**
 * 
 * 递归:方法自己调用自己
 *递归头:何时结束递归
 *递归体:重复调用
 * @author java
 *
 */
public class DirDemo03 {
    public static void main(String[] args) {
        test(1);
    }
    
    public static void test(int i){
        if(i > 10){
            return;
        }
        System.out.println(i);
        test(i+1);
    }
}

 

posted on 2018-08-26 09:39  奋斗的小刀001  阅读(301)  评论(0编辑  收藏  举报

导航