首页 > 编程语言 >《Java编程思想第四版》学习笔记26

《Java编程思想第四版》学习笔记26

时间:2023-09-07 20:32:20浏览次数:194  
标签:26 Java String System catch 第四版 println close out

//: Cleanup.java
// Paying attention to exceptions
// in constructors
import java.io.*;
class InputFile {
    private BufferedReader in;
    InputFile(String fname) throws Exception {
        try {
            in =
                    new BufferedReader(
                            new FileReader(fname));
// Other code that might throw exceptions
        } catch(FileNotFoundException e) {
            System.out.println(
                    "Could not open " + fname);
// Wasn't open, so don't close it
            throw e;
        } catch(Exception e) {
// All other exceptions must close it
            try {
                in.close();
            } catch(IOException e2) {
                System.out.println(
                        "in.close() unsuccessful");
            }
            throw e;
        } finally {
            in.close();
// Don't close it here!!!
        }
    }
    String getLine() {
        String s;
        try {
            s = in.readLine();
        } catch(IOException e) {
            System.out.println(
                    "readLine() unsuccessful");
            s = "failed";
        }
        return s;
    }
    void cleanup() {
        try {
            in.close();
        } catch(IOException e2) {
            System.out.println(
                    "in.close() unsuccessful");
        }
    }
}
public class Cleanup {
    public static void main(String[] args) {
        try {
            InputFile in =
                    new InputFile("src\\Cleanup.java");
            String s;
            int i = 1;
            while((s = in.getLine()) != null)
                System.out.println(""+ i++ + ": " + s);
            in.cleanup();
        } catch(Exception e) {
            System.out.println(
                    "Caught in main, e.printStackTrace()");
            e.printStackTrace();
        }
    }
} ///:~

P.280“9 . 7 构建器”一节及以上例程“Cleanup.java”很值得多看看。

标签:26,Java,String,System,catch,第四版,println,close,out
From: https://blog.51cto.com/u_16183536/7401217

相关文章

  • CF1266D
    原题翻译其实这题的翻译反而不如原题好理解,建议先阅读原题后重新思考做法         \[\large{\color{#ff0000}{\text{分割线}}}\]                        翻译把原来简单的东西复杂了原题的题意是有若......
  • Java学习——基础知识补充
    1.作用域1.1public定义为public的class、interface可以被其他任何类访问,定义为public的field、method可以被其他类访问,前提是首先有访问这个类的权限。注意:一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。如果......
  • 无涯教程-JavaScript - ERFC函数
    描述ERFC函数返回x和无穷大之间集成的互补ERF函数。互补误差函数等于1-ERF(即1-误差函数),由等式给出-$$Erfc(x)=\frac{2}{\sqrt{\pi}}\int_{x}^{\infty}e^{-t^2}dt$$语法ERFC(x)争论Argument描述Required/OptionalxThelowerboundforintegratingE......
  • 西二,java基础与高级
       下面是高级 ......
  • 无涯教程-JavaScript - ERF.PRECISE函数
    描述ERF.PRECISE函数返回错误函数。错误函数由公式给出-$$Erf(x)=\frac{2}{\sqrt{\pi}}\inte^{-t^2}dt$$ERF.PRECISE函数将积分的上限或下限设置为0(取决于用户提供的限制是正数还是负数)来计算此函数。如果要自己选择上限和下限,则应考虑使用ERF功能。语法ERF.......
  • 详谈Java中抽象类和接口的区别和使用场景
    抽象类和接口的区别抽象类和接口都是Java中实现多态的重要手段,但它们之间有很大的区别:抽象类是一个类,可以拥有成员变量和非抽象方法,而接口只能拥有常量和抽象方法。子类继承抽象类时,必须实现父类的抽象方法,而接口则需要实现所有定义的方法。一个类只能继承一个抽象类,但可以实现多个......
  • Java——程序包不存在【三种解决方法】
     目录一、问题描述二、解决方案 方法一:maven包管理的clean方法  方法二:清理缓存  方法三:设置配置三、结语 一、问题描述报错:xxx程序包不存在  二、解决方案 方法一:maven包管理的clean方法1、把项目的MavenProject打开2、点击clean,再点击run,即......
  • Java系统变量参数 获取 设置 System.getProperties()
    目录1.获取2.设置3.常用参数4.Systm.getenv()与System.getProperties()区别1.获取 StringosName=System.getProperties().getProperty("os.name"); System.out.println(osName);结果输出:Windows102.设置System.setProperty("jdbc.drivers"......
  • JAVA如何实现视频在线播放(MP4文件在线播放)
    JAVA如何实现视频在线播放(MP4文件在线播放)不需要web端进行操作,即可直接进行播放,话不多说,直接上代码!Controller代码/***@description:MP4文件在线播放*@author:Re、ZOO2*@date:2021/7/2522:55*@param:[request,response,floderPath文件......
  • java 支持 超大上G,多附件上传插件
    ​ javaweb上传文件上传文件的jsp中的部分上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1. 通过form表单向后端发送请求         <formid="postForm" action="${pageContext.request.contextPath}/UploadServlet" method="pos......