Java入门经典(第7版) 作者:罗格斯·卡登海德

对象抛出异常,以指出发生了异常,这些异常可以被其他对象或虚拟机捕获。

其他异常使用5个新的关键字在程序运行时进行处理:try,catch,finally,throw和throws

try{
//statements that might cause the exception
}catch(Exception e){
//what to do when thee exception occurs
}

Exception对象应该是可能发生的异常类,多个异常类中间用"|"隔开,可能发生的多种异常的超类。

try{

}catch(){

}finally{

}

finally语句将在其他语句后执行,不管是否发生异常。

try{

}catch(Exception e){
throw e;
}

当使用throw抛出一个异常时,通常意味着没有完成处理异常需要完成的所有工作。

java.io包中的类可以用于访问数据源,如硬盘、DVD或者计算机内存。

File bookName = new File("address.dat");
File bookName = new File("data\\address.dat");

创建一个文件对象后可以调用以下几个方法

exists():存在返回true,否则返回false

getName():将文件名作为字符串返回

length():将文件长度作为long返回

createNewFile():如果文件不存在,创建它

delete():如果文件存在,删除它

renameTo(File):使用通过参数指定的File对象名称重命名

listFiles()可以查看文件夹内容,返回一个File对象数组

可以使用FileInputStream类从文件中读取字节输入流,创建文件输入流调用FileInputStream()构建函数并将一个文件名或者File对象作为参数。

读写经常会产生异常,通过try-catch语句能更好的使程序运行。

File cookie = new File("cookie.web");
try(FileInputStream stream = new FileInputStream(cookie)){
System.out.println(cookie.length());
}catch(IOException ioe){
System.out.println(ioe);
}

因为流在try语句中,所以语句块执行完毕会自动关闭。

skip()方法可以跳过读取一些字节。

read()方法可以从流中读取一些字节

缓冲读取流:

要使用缓冲读取流,需要创建一个输入流,如FileInputStream对象,然后调用BufferedInputStream(InputStream)

从缓冲区中读取数据,可以调用read()方法不指定任何参数

如果要将字节写入一个文件中,只使用一个File对象作为参数调用构造函数FileOutputStream()

用一个字节作为参数调用write()方法时,将该字节写入流中;用一个字节数组作为参数调用write()时,将数组的所有字节写入流中;给write(byte[],int,int)指定三个参数,一个字节数组,一个表示要写入流中的数组的第一个元素的整数,要写入的字节总数。

将数据写入流中时,可以调用String对象的getByte()方法,将文本转换为字节数组。

String name="Puddin N. Tane";
byte[] nameBytes = name.getBytes();

Java入门(7)的更多相关文章

  1. Java入门第一章

    后天就是十一长假了,亲们准备好了去哪儿玩了吗? 今天有点空,就来聊聊Java吧,当然是一些Java入门知识了,网上有很多,这里我只是列举一些我自己学到的,感谢大家关注喵的博客这么久,也为大家带来点新知 ...

  2. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  3. 第1章Java入门体验

    第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...

  4. Java入门记(五):容器关系的梳理(下)——Map

    注意:阅读本文及相关源码时,需要数据结构相关知识,包括:哈希表.链表.红黑树. Map是将键(key)映射到值(value)的对象.不同的映射不能包含相同的键:每个键最多只能映射到一个值.下图是常见M ...

  5. Java入门(二)——果然断更的都是要受惩罚的。。。

    断更了一个多月,阅读量立马从100+跌落至10-,虽说不是很看重这个,毕竟只是当这个是自己的学习笔记,但有人看,有人评论,有人认同和批评的感觉还是很巴适的,尤其以前有过却又被剥夺的,惨兮兮的. 好好写 ...

  6. Android初涉及之Android Studio&JAVA入门--二月不能不写东西

    是的,我还没有放弃写博客. 是的,我也没有放弃PHP的学习. 是的,我要开始学学最TM火的Android开发了. 你呢 1.Android Studio 一.概况 安装和配置什么的就不具体说了,网上一 ...

  7. JAVA手记 JAVA入门(安装+Dos下运行)

    JAVA入门特供= =,今天设置环境变量后用dos运行的时候发现出现“找不到或无法加载主类”,索性查了些资料重新看了看JAVA入门的部分. 声明:我的笔记本暂时用的是Win10系统,Windows其他 ...

  8. Java入门教程总目录

    Java入门教程总目录 持续更新中... 1.Java常识汇总 2.Java框架对比 3.Java技术路线 4.Java编码规范 5.Java环境变量配置 6.枚举 7.操作符 12.定时任务

  9. Java入门的程序汇总

    Java入门的基础程序,虽然很简单,也要多练习,下面有重点的总结一下 1.HelloWorld这个不说了 2.常量与变量部分 基本数据类型使用 public class Javashujuleixin ...

  10. Java入门学习知识点汇总

    Java入门重要知识点在这里总结一下,以方便日后复习,这部分内容主要有:变量和常量,常用的运算符,流程控制语句,数组,方法这些内容 一.变量和常量 1.Java关键字 先贴张图: 所有关键字区分大小写 ...

随机推荐

  1. 我把这个贼好用的Excel导出工具开源了!!

    写在前面 不管是传统软件企业还是互联网企业,不管是管理软件还是面向C端的互联网应用.都不可避免的会涉及到报表操作,而对于报表业务来说,一个很重要的功能就是将数据导出到Excel.如果我们在业务代码中, ...

  2. 怀疑安装MySQL之后,导致OrCAD Capture、Allegro就打不开

    记得在异常出现之前,只安装了MySQL,之后OrCAD Capture.Allegro就打不开了. Capture.exe - 系统错误 allegro.exe - 系统错误 我尝试在Cadence的 ...

  3. 一道web入门题

    9月27日00:00 这道题是我将hctf_warmup魔改之后得到的,难度比较低,主要还是讲一些web相关的思考方式,所以这篇文章会比较冗长过于详细.(毕竟是给小姑娘入门看的23333).就当M1s ...

  4. 15.深入k8s:Event事件处理及其源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 源码版本是1.19 概述 k8s的Event事件是一种资源对象,用于展示集群内发生的情况 ...

  5. Docker 开启非认证的2375端口,提供外部访问 Docker

    1.编辑 Docker 服务的配置文件 vi /usr/lib/systemd/system/docker.service 或者 vi /lib/systemd/system/docker.servi ...

  6. ubuntu20 使用命令安装 redis

    安装 redis sudo apt-get install redis-server -y 配置文件 vi /etc/redis/redis.conf # 设置端口 port # 设置密码 requi ...

  7. linux c 多线程开发

    在开发多线程程序时,当创建的线程数量特别多的时候,就会遇到线程数量的瓶颈. 多线程设置 设置内核参数 kernel.threads-max kernel.threads-max 是 linux 系统允 ...

  8. CDH5部署三部曲之三:问题总结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. k8s 命令创建pod

    [root@master kubernetes]# kubectl create deploy ngx-dep --image=nginx:1.14-alpine deployment.apps/ng ...

  10. Ubuntu服务安装

    一.ifconfig命令安装 sudo apt install net-tools 二.ssh服务安装 sudo apt-get install openssh-server netstat -ltn ...