file类和io流


        dir.mkdir();  //创建文件夹,只能创建单级别
        File dir2 = new File("F:\\AAA\\bbb");
        dir2.mkdirs();//创建多级文件夹
        
        File renameFile = new File("F:\\abc.txt");
        f.renameTo(renameFile);  // 重命名,目标鸥鸟
        //文件和源文件要在同一级目录,如果不是在同一个目录下,则此方法的作用剪切(剪切不能操作文件夹)
                
        File delFile = new File("F:\\a.txt");
        delFile.delete(); // 方法不能用于删除非空的文件夹
        delFile.deleteOnExit(); //JVM退出的时候删除文件,一般用于删除临时文件
        
        File ff = new File("F:\\a.txt");
        ff.exists();// 判断文件或文件夹是否存在
        ff.isFile(); // 判断是否是文件
        ff.isDirectory(); // 判断是否是文件夹
        ff.isHidden(); // 判断是否是隐藏的
        ff.isAbsolute();// 是否是绝对路径
        
        
        ff.getName(); // 获取文件名,并未判断文件是否存在
        ff.getPath(); // 获取绝对路径,就是参数的路径
        ff.getAbsolutePath(); //获取绝对路径,当前路径+参数路径
        ff.length(); //获取文件的大小,字节
        ff.getParent(); // 获取文件的父路径,参数的路径
        long l = ff.lastModified(); // 获取最后一次的修改时间,是毫秒值
        
        File[] roots = File.listRoots(); // 列出所有根目录
        for (File file : roots) {
            System.out.println(file);            
        }
        
        File files = new File("F:\\JD");
        String[] arr = files.list(); // 把当前文件夹下面的所有子文件夹名和文件名,
        //存储到一个String类型的数组中返回,隐藏文件也适用
        for (String string : arr) {
            System.out.println(string.toString());
        }
        File[] arrFile = files.listFiles(); // 同上,不过返回的文件数组类型
        for (File file : arrFile) {
            System.out.println(file.getName());
        }                
        //FilenameFilter 文件名过滤器,自定义一个过滤器类,实现该接口
        //listFiles(FilenameFilter filter)    返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
        //list(fileNameFilter filter)    返回指定当前目录中符合过滤条件的子文件或子目录。对于文件这样操作会返回null。
        

IO流的特点:

  • IO流用来处理设备间的数据传输。
  • Java对数据的操作是通过流的方式。
  • Java用于操作流的对象都在IO包中

Io流的分类:

按照不同的分类方式,可以把流分为不同的类型。常用的分类有三种:

1.按照流的流向分,可以分为输入流和输出流。

  • 输入流: 只能从中读取数据,而不能向其写入数据。
  • 输出流:只能向其写入数据,而不能向其读取数据。

流分类:
1.Java的字节流
   InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先。
2.Java的字符流
  Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先。
InputStream,OutputStream,Reader,writer都是抽象类。所以不能直接new

字节流写字符的方式:

public void write(int b):写一个字节

 public void write(byte[] b):写一个字节数组 

public void write(byte[] b,int off,int len):写一个字节数组的一部分

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

光莫不甘娜哪行

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

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

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

打赏作者

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

抵扣说明:

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

余额充值