I O 流

1.1 创建文件夹

  • mkdir创建单层目录

  • mkdirs创建多层目录

1.2 创建文件

  • File

  • 语法:

    • new File("文件路径");

private static void myFile() {
    File file = new File("d:\\a\\b");
    File file1 = new File("d:\\a\\b\\c.txt");
    try {
        file.mkdirs();
        file1.createNewFile();
    }catch (Exception e){
        e.printStackTrace();
    }
}

1.3 删除文件夹

  • 删除文件夹内部文件

  • 删除文件夹

public static void deletes(File src){
    File[] files = src.listFiles();
    for (File file:files) {
        System.out.println("文件夹名字:"+file.getName());
        //TODO 判断是否是文件夹
        if(file.isFile()){
            file.delete();
        }else {
            //TODO 再给删除方法删除一遍
            deletes(file);
        }
    }
    //TODO 删除最外层文件夹
    src.delete();
}

二.流

2.1 流写入

//1.创建对象
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\c.txt");
//2.调用对象里面的方法,往里面写入
fos.write(65);
fos.write(66);
//3.关闭
fos.close();

2.2 流写数组

//1.创建对象,如果想追加,那么构造方法中,第二个参数写true就行
//追加就是在已有的内容后面继续添加内容
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\c.txt",true);
byte[] buf = {65,66,67,68};
try {
    fos.write(buf);
    fos.close();
}catch (Exception e){
    e.printStackTrace();
}

2.3 用流实现读写功能

FileInputStream fis = new FileInputStream("d:\\a\\b\\c.txt");
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\e.txt");
int len;
while ((len = fis.read()) != -1){
    fos.write(len);
}
​
fis.close();
fos.close();

2.4 用流实现本地文件的拷贝

FileInputStream fis = new FileInputStream("d:\\a\\b\\001.jpg");
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\002.jpg");
​
//设计缓冲区
byte [] buf = new byte[1024];
int num;
while ((num = fis.read(buf))!= -1 ){
    fos.write(buf,0,num);
}
​
​
fis.close();
fos.close();

2.5 BufferedInputStream与BufferedOutputStream

//自带缓冲区的方法
FileInputStream fis = new FileInputStream("d:\\a\\b\\001.jpg");
BufferedInputStream bis = new BufferedInputStream(fis);
​
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\003.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
​
int num;
while ((num = bis.read()) != -1){
    bos.write(num);
}
​
bis.close();
bos.close();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值