资讯专栏INFORMATION COLUMN

IO字符流9jdk7和jdk9中流的异常的处理

Hancock_Xu / 3079人阅读

摘要:的新特性在的后边可以增加一个在括号中可以定义流对象那么这个流对象的作用域就在中有效中的代码执行完毕会自动把流对象释放不用写格式定义流对象定义流对象可能会产出异常的代码异常类变量变量名异常的处理逻辑创建一个字节输入流对象构造方法中绑定要读取的

package com.itheima.demo06.trycatch;

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

/*

JDK7的新特性
在try的后边可以增加一个(),在括号中可以定义流对象
那么这个流对象的作用域就在try中有效
try中的代码执行完毕,会自动把流对象释放,不用写finally
格式:
    try(定义流对象;定义流对象....){
        可能会产出异常的代码
    }catch(异常类变量 变量名){
        异常的处理逻辑
    }

*/
public class Demo02JDK7 {

public static void main(String[] args) {
    try(//1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
        FileInputStream fis = new FileInputStream("c:1.jpg");
        //2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
        FileOutputStream fos = new FileOutputStream("d:1.jpg");){

        //可能会产出异常的代码
        //一次读取一个字节写入一个字节的方式
        //3.使用字节输入流对象中的方法read读取文件
        int len = 0;
        while((len = fis.read())!=-1){
            //4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
            fos.write(len);
        }

    }catch (IOException e){
        //异常的处理逻辑
        System.out.println(e);
    }


}

}
package com.itheima.demo06.trycatch;

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

/*

JDK9新特性
try的前边可以定义流对象
在try后边的()中可以直接引入流对象的名称(变量名)
在try代码执行完毕之后,流对象也可以释放掉,不用写finally
格式:
    A a = new A();
    B b = new B();
    try(a,b){
        可能会产出异常的代码
    }catch(异常类变量 变量名){
        异常的处理逻辑
    }

*/
public class Demo03JDK9 {

public static void main(String[] args) throws IOException {
    //1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
    FileInputStream fis = new FileInputStream("c:1.jpg");
    //2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
    FileOutputStream fos = new FileOutputStream("d:1.jpg");

    try(fis;fos){
        //一次读取一个字节写入一个字节的方式
        //3.使用字节输入流对象中的方法read读取文件
        int len = 0;
        while((len = fis.read())!=-1){
            //4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
            fos.write(len);
        }
    }catch (IOException e){
        System.out.println(e);
    }

    //fos.write(1);//Stream Closed

}

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76222.html

相关文章

  • 第十一章-IO#yyds干货盘点#

    摘要:是一个系统支持的所有字符的集合,包括各国家文字标点符号图形符号数字等字符集简体中文码表。支持中国国内少数民族的文字,同时支持繁体汉字以及日韩汉字等字符集为表达任意语言的任意字符而设计,是业界的一种标准,也称为统一码标准万国码。 1 File1.1 File类的概述和构造方法File: 它是文件和目录路径名的抽象...

    不知名网友 评论0 收藏0
  • [C/C++]C++IO

    摘要:二中流的概念中的流是对一种有序连续且具有方向性的数据的抽象描述。用来进行标准错误的输出。在使用时候必须要包含文件并引入标准命名空间。实际是在其底层维护了一个类型的对象用来保存结果。可以使用将让返回其底层的对象。  本文对比了C语言的输入与输出,介绍了流的概念、C++IO流以及stringst...

    Lin_R 评论0 收藏0
  • 乐字节Java之file、IO基础知识操作步骤

    摘要:流分类由此可见,流很庞大从不同角度进行分类数据分类按处理数据单位分为字节流和字符流。处理数据是音频视频文本等一切为字节流,仅能处理文本的为字符流。功能分类节点流和处理流。从向一个特定的设备磁盘网络等读写数据的流称为节点流,也常被称为低级流。 嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流。 先来看看IO流的思维导图吧。showImg(https://segmen...

    pkhope 评论0 收藏0
  • JDK9新特性实战:简化关闭新姿势。

    摘要:如下面的,定义成局部变量可以不用,局部变量可以等同于,但定义成成员变量就必须是用修饰的,不然会编译错误。虽然简化了,但感觉还是没有什么质的变化,实际用途我们可能不希望关心资源的关闭,或者在方法结束之后如果是局部变量它就能自动关闭。 showImg(https://segmentfault.com/img/remote/1460000015379050); 做Java开发的都知道,每个资...

    dailybird 评论0 收藏0
  • Node.js 中操作实践

    摘要:事件的触发频次同样是由实现者决定,譬如在进行文件读取时,可能每行都会触发一次而在请求处理时,可能数的数据才会触发一次。如果有参数传入,它会让可读流停止流向某个特定的目的地,否则,它会移除所有目的地。 showImg(https://segmentfault.com/img/remote/1460000016328758?w=1967&h=821); 本文节选自 Node.js Chea...

    chaos_G 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<