尚硅谷——宋红康老师超详细IO流的相关讲解

本文深入探讨了Java中的IO流,从File类的使用开始,包括构造器、路径分隔符和常用方法。接着,详细介绍了字节流与字符流的原理、分类和使用,如InputStream、Reader、OutputStream、Writer。通过实例展示了文件的读写、复制以及图片和视频处理。同时,还涵盖了节点流、缓冲流、转换流、标准输入输出流、打印流、数据流和对象流,特别是对象的序列化。最后,讨论了随机存取文件流的应用。
摘要由CSDN通过智能技术生成

一、File 类的使用

在这里插入图片描述

1.常用构造器

在这里插入图片描述
构造器测试:

@Test
    public void test1(){
   
        //构造器1
        File file1 = new File("hello.txt"); //相对于当前module
        File file2 =  new File("D:\\workspace_idea1\\JavaSenior\\day08\\he.txt"); //绝对路径

        System.out.println("file1l==>"+file1.getAbsoluteFile());
        System.out.println("file12==>"+file2);

        //构造器2:
        File file3 = new File("D:\\workspace_idea1","JavaSenior");
        System.out.println("file13==>"+file3);

        //构造器3:
        File file4 = new File(file3,"hi.txt");
        System.out.println("file14==>"+file4);
    }

测试结果:
在这里插入图片描述

2.路径分隔符

在这里插入图片描述
separator测试:

@Test
    public void yrxTest1(){
   
        File file1 = new File("D:\\info.text");
        File file2=new File("D:"+File.separator+"yrx"+File.separator+"info.txt");
        File file3=new File("D:/yrx");
        System.out.println(file1);
        System.out.println(file2);
        System.out.println(file3);
    }

测试结果:当前系统为Windows
在这里插入图片描述

需要注意一下:在main方法中使用相对路径是相对于当前project

public class FileTest {
   

    public static void main(String[] args) {
   
        File file1 = new File("hello.txt");//相对于当前project
        System.out.println(file1.getAbsoluteFile());
    }
}

测试结果:
在这里插入图片描述
如果在单元测试里使用相对路径是相对于当前moudle

@Test
    public void test1(){
   
        //构造器1
        File file1 = new File("hello.txt");//相对于当前module
        System.out.println("file1l路径"+file1.getAbsoluteFile());      
    }

测试结果:
在这里插入图片描述

3.常用方法

在这里插入图片描述
获取功能测试:

@Test
    public void test2(){
   
        File file1 = new File("hello.txt");  //文件内容为helloworld
        File file2 = new File("d:\\FileTest\\hi.txt");  //文件内容为Hello World

        System.out.println(file1.getAbsolutePath());
        System.out.println(file1.getPath());
        System.out.println(file1.getName());
        System.out.println(file1.getParent());
        System.out.println(file1.length());
        System.out.println(new Date(file1.lastModified()));

        System.out.println();

        System.out.println(file2.getAbsolutePath());
        System.out.println(file2.getPath());
        System.out.println(file2.getName());
        System.out.println(file2.getParent());
        System.out.println(file2.length());
        System.out.println(file2.lastModified());
    }

测试结果:
在这里插入图片描述
list()和listFiles()测试:

@Test
    public void test3(){
   
        File file = new File("d:\\FileTest"); //这里必须是目录,且该目录下必须要有文件,否则报空指针异常

        String[] list = file.list();
        for(String s : list){
   
            System.out.println(s);
        }

        System.out.println();

        File[] files = file.listFiles();
        for(File f : files){
   
            System.out.println(f);
        }

    }

测试结果:
在这里插入图片描述

在这里插入图片描述在这里插入图片描述创建或删除文件测试

 @Test
    public void test6() throws IOException {
   
        File file1 
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值