IO流学习笔记

IO流学习笔记

文件 | 文件夹 | 多级文件夹的创建

1、普通文件的创建

package com.zheng.io;

import java.io.File;
import java.io.IOException;

public class FileDemo1 {
    public static void main(String[] args) {
        try {
            //创建一个新的普通文件
            File file = new File("D:\\2021.txt");
            boolean flag = file.createNewFile();//创建一个新的普通文件
            System.out.println(flag ? "创建成功" : "创建失败");//三元运算,条件判断?表达式1:表达式2    条件判断正确执行表达式1,错误执行表达式2
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

2、文件夹的创建(mkdir代表普通文件夹的创建)

package com.zheng.io;

import java.io.File;

public class FileDemo1 {
    public static void main(String[] args) {
        //创建一个普通文件夹
        File file1 = new File("D:2022");
        boolean flag2 = file1.mkdir();
        System.out.println(flag2 ? "文件夹创建成功" : "文件创建失败");

    }
}

3、创建多级文件夹(mkdirs代表多级文件的创建)

package com.zheng.io;

import java.io.File;
import java.io.IOException;

public class FileDemo1 {
    public static void main(String[] args) {

        //创建多级文件
        File file3=new File("D:2021\\java\\jsp");
        boolean flag3=file3.mkdirs();
        System.out.println(flag3?"多级文件夹创建成功":"多级文件创建失败");


    }
}

结果
在这里插入图片描述
删除文件

package com.zheng.io;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        //删除D盘下的2022.txt文件
        File file1=new File("D:\\2022.txt");
        boolean flag=file1.delete();
        System.out.println(flag?"删除成功":"删除失败");
    }
}

  • 查询某个文件是否存在
  • 查看文件大小
  • 获取文件名称
  • 获取文件路径
package com.zheng.io;

import java.io.File;

public class FileDemo3 {

    public static void main(String[] args) {
        try {
            //1、判断某个路径的文件是否存在
            File file=new File("D:\\x2018");
            boolean flag1=file.exists();//判断文件是否存在
            if(flag1){
                System.out.println("文件已经存在");
            }else{
                file.mkdir();
            }

            //2、获取文件的大小
            File file2=new File("D:\\2021.txt");
            file2.createNewFile();
            long size=file2.length();
            System.out.println("size:"+size);


            //3、获取文件的名称
            File file3=new File("D:\\202168.txt");
            file3.createNewFile();
            String fileName=file3.getName();//获取文件名称
            System.out.println("fileName="+fileName);

            //4、获取文件的路径
            String filePath=file3.getPath();//获取文件的路径
            System.out.println("filePath="+filePath);

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

测试
测试

遍历某个盘符的所有文件

package com.zheng.io;

import java.io.File;

public class FileDemo4 {
    public static void showFile(String pathname){
        File f1=new File(pathname);
        //判断文件是否是文件夹
        boolean flag1=f1.isDirectory();
        if(flag1){//是文件夹
            File [] files=f1.listFiles();//得到文件夹下的所有文件
            for (int i=0;files!=null&&i<files.length;i++) {
                //判断是否是文件夹
                boolean flag2=files[i].isDirectory();
                if(flag2){
                    showFile(files[i].getPath());
                }else{
                    //获取文件的路径
                    String filepath=f1.getPath();
                    System.out.println("普通文件:====="+filepath);

                }
            }

        }else{//不是文件夹
            String filePath=f1.getPath();
            System.out.println("普通文件=======:"+filePath);
        }

    }

    public static void main(String[] args) {
        FileDemo4.showFile("D:\\");
    }

}

字节输入流

数据(盘符,键盘)—>管道—>水龙头

package com.zheng.inputStream;

import java.io.File;
import java.io.FileInputStream;

public class IODemo {
    public static void main(String[] args) {
        try {
            File f1 = new File("D:\\2021.txt");
            if (f1.exists() && f1.length() > 0) {
                FileInputStream fileInputStream = new FileInputStream(f1);
            }
            //1、在程序和文件之间铺设管道
            FileInputStream fis = new FileInputStream(f1);
            //2、开水龙头
            int ch = 0;
            while ((ch = fis.read()) != -1) {
                System.out.print((char) ch);
            }
            //3、关水龙头
            fis.close();


        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}

测试
在这里插入图片描述

字节输出流

posted on 2022-08-28 22:20  热爱技术的小郑  阅读(13)  评论(0编辑  收藏  举报