Java-知识4

这篇博客详细介绍了Java中的File类,包括创建、判断、获取和删除文件的功能,并通过递归实现了目录遍历。此外,文章还深入探讨了字节流的使用,包括字节流的写入和读取操作,以及异常处理。字节缓冲流和字符流的概念也被提及,为读者提供了全面的IO流理解。
摘要由CSDN通过智能技术生成

IO流

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

File

在这里插入图片描述

File类创建功能

在这里插入图片描述

File类的判断和获取功能

在这里插入图片描述

File类的删除功能

在这里插入图片描述
在这里插入图片描述

遍历目录(递归实现)
package IT10.File;

import java.io.File;

/*
    遍历目录
 */
public class FileDemo05 {
    public static void main(String[] args) {
        File f= new File("G:\\JavaFile练习");
        getAllFilePath(f);
    }
    public static void getAllFilePath(File srcFile){
        File[] files = srcFile.listFiles();
        if(files!=null){
            for(File file:files){
                if(file.isDirectory()){
                    getAllFilePath(file);
                }else{
                    System.out.println(file.getAbsolutePath());
                }
            }
        }

    }
}

字节流

字节流写数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字节流写数据加 异常处理

在这里插入图片描述

字节流读数据
一次读一字节数据

在这里插入图片描述

一次读一字节数组的数据
package IT10.字节流;

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamDemo02 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("fos.txt");

//        byte[] bys =new byte[5];

        /*//第一次读数据
        int len = fis.read(bys);
        System.out.println(len);
        //字节数组转字符串
//        String s = new String(bys);
//        System.out.println(new String(bys));
        System.out.println(new String(bys,0,len));
        //第二次读数据
        len = fis.read(bys);
        System.out.println(len);
//        System.out.println(new String(bys));
        System.out.println(new String(bys,0,len));
        //第三次读数据
        len = fis.read(bys);
        System.out.println(len);
//      public String(byte bytes[], int offset, int length)
        System.out.println(new String(bys,0,len));
        *//*
                hello\r\n
                world\r\n
                第一次hello
                第二次\r\nwor
                第三次ld\r\nr
                第三次只读了四个数组中上一次的第五个r还保存在

         */
        byte[] bys =new byte[1024];//一般来说是1024的整数倍
        int len;
        while ((len= fis.read(bys))!=-1){
            System.out.print(new String (bys,0,len));
        }
        fis.close();

    }

}
字节缓冲流

在这里插入图片描述

字符流

特殊操作流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值