java file类

本文介绍了Java中的File类,用于操作文件和目录,包括获取路径、重命名、检查文件属性等方法。同时,讲解了IO流的基本概念,如字节流的InputStream和OutputStream,及其在文件复制中的应用。通过实例展示了如何使用字节流实现文件复制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

File类
    File 类代表与平台无关的文件和目录(文件夹)。
     在路径的杠的问题:
     *         /:只写一个即可
     *         \:需要写2个
     * 相关方法:
     *         访问文件名
     *             getName():得到文件名
     *             getPath():得到相对路径
     *             getAbsolutePath():得到绝对路径.返回值为String
     *             getAbsoluteFile():........返回值File
     *             getParent():得到父级目录
     *             renameTo(File dest) :重命名文件
     *        文件检测
     *            exists():检测文件是否存在
     *            canRead()
     *            canWrite()
     *            canExecute()
     *            isFile()
     *            isDirectory()
             获取文件信息
                 length():获取文件长度(以byte为单位)
                 lastModified():获取最后一次修改时间,返回值为long类型
     *         文件操作相关
     *             createNewFile():创建文件
     *             delete():删除文件或目录
     *         目录相关操作
     *             mkdir():创建目录
     *             list():返回目录中的名字组成的String数组
     *             listFiles() :返回目录中的File组成数组
2.IO流
    就是输出流和输出流
3.字节流(以字节(byte)为单位):
    1.InputStream:
             是所有字节输入流的抽象基类
            read():一个字节的读取
             read(byte[] b):一次读取byte[]的长度那么多,返回真实读取的长度
             read(byte[] b, int off, int len) :读取内容放在数组的部分中
            当返回值为-1,代表着到达文件的末尾(流的末尾)
            子类:
                FileInputStream:文件字节输入流
    2.OutputStream:
            是所有字节输出流的抽象基类
            write(int b) :一次写一个
             write(byte[] b) :一次写一个数组
             write(byte[] b, int off, int len) :一次写数组那么多,off:起始位置,len:输出的真实长度
             子类:
                FileOutputStream:文件字节输出流
    注意:流需要关闭。调用close()方法关闭.
4.使用字节流实现对任意文件的复制案例
        //创建输入字节流
        InputStream in = new FileInputStream("D:/image/tutu.png");
        //创建输出字节流
        OutputStream out = new FileOutputStream("D:/image/tutu2.png");
        //一边读取,一边写入
        byte[] buffer = new byte[1024*2];
        int len = 0;
        while((len = in.read(buffer))!=-1){
            out.write(buffer,0,len);  //确保复制后的大小一致
        }
        //关闭字节输出流
        out.close();
        //关闭字节输入流
        in.close();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈思哲~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值