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. 在sqlserver中创建表

    1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者 模块访问 2:创建局部临时表 ...

  2. 067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数

    067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数 本文知识点:数组作为方法参数 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...

  3. python文档下载

    网址记录:https://docs.python.org/3.6/

  4. 萌新学python

    python python安装 进入官网http://www.python.org/download/ 下载 我下的是3.6.6大家可以根据需要下载(3.x和2.x不兼容请小心) 之后安装就可以了 p ...

  5. 解决mvn clean install的报错The packaging for this project did not assign a file to the build artifact

    解决mvn clean install的报错The packaging for this project did not assign a file to the build artifact

  6. Oracle 数据库导入数据和编码问题

    配置 control 文件: load data characterset utf8 append into table role_res_gold fields terminated by ';' ...

  7. vue 组件的封装

    封装的原因 首先封装组件的需求肯定是多个地方要用到同一个东西,他们都有公共的地方,vue的封装 简单来说就是将公共参数封装起来 然后在需要的地方引入 //子组件封装 <template> ...

  8. 多测师浅谈 学员实现价值就是我们的幸福_高级讲师肖sir

    学员实现价值就是我们的幸福 作为一名资深的IT高级讲师,在传统的行业IT薪资基本都是过万,作为一名IT培训教师,培养出在不同领域的测试,并且接触各种各样的产品,目前市场流行的比如银行业务系统,语音类系 ...

  9. 题解:CF593D Happy Tree Party

    题解:CF593D Happy Tree Party Description Bogdan has a birthday today and mom gave him a tree consistin ...

  10. MeteoInfoLab脚本示例:MODIS Sinusoidal投影HDF数据

    MODIS卫星很多陆面数据都是Sinusoidal投影,数据被分为一个个10*10度(赤道地区)的瓦片(http://modis-land.gsfc.nasa.gov/MODLAND_grid.htm ...