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. AD技巧之原理图元器件统一重新编号

    本文将简要介绍Altium Designer中如何进行原理图元器件统一命名,这是Altium Designer软件一个小技巧,在学习和工程实践中,都十分有用的技能. 第一步:打开原理图 第二步:点击& ...

  2. Layman 使用ffmpeg-php扩展库实现视频截图(默认图)

    这几天做项目,其中一个需求是用户上传视频文件到服务器,然后服务器自动截取该视频的一帧作为该视频对应的缩略图,服务器端语言采用php编写,找了半天资料,发现ffmpeg-php可以满足该需求,所以下面简 ...

  3. Java知识系统回顾整理01基础03变量08表达式

    一.以 ; 结尾的一段代码,即为一个表达式 表达式是由变量.操作符以及方法调用所构成的结构.如下所示: int i = 5; System.out.println(5); 都是表达式 public c ...

  4. 更改MySQL 5.7的数据库的存储位置

    操作系统:Windows 10 x64 MySQL安装包版本:mysql-installer-community-5.7.17.0 参考:MySQL 5.7版本的安装使用详细教程+更改数据库data的 ...

  5. [POI2010]PIL-Pilots 单调队列

    [POI2010]PIL-Pilots 题意: 给定一个序列和一个数值k,求一段连续最大区间是的最大值与最小值之差小于k: 思路: 因为要维护最大值和最小值并且连续,使用两个单调队列分别同时维护最大最 ...

  6. Linux为STDOUT的关键字设置颜色

    echo "颜色测试aaa实测" | perl -pe 's/(aaa|实|测)/\e[1;31m$1\e[0m/g'

  7. 二进制安装MySQL-5.7.28

    系统基础优化 #更改主机名 hostname msyql echo "msyql" >/etc/hostname #修改字符集 echo "LANG="z ...

  8. vue的二级联动,数据是从php获取到的

    1.首先,一级要有change改变事件的关键字,v-on:change="selectarr($event)" 这是created(){}函数里面的自动调用一级分类的数据 html ...

  9. 最新最最最简单的Snagit傻瓜式破解教程(带下载地址)

    最新最最最简单的Snagit傻瓜式破解教程(带下载地址) 下载地址 直接滑至文章底部下载 软件介绍 一个非常著名的优秀屏幕.文本和视频捕获.编辑与转换软件.可以捕获Windows屏幕.DOS屏幕:RM ...

  10. Angular8 ie兼容性解决

    启用腻子脚本 polyfills.ts /* IE9, IE10 and IE11 requires all of the following polyfills. */ import 'core-j ...