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. 引用类型之Object

    引用类型 引用类的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起. 对象是某个特定引用类型的实例.新对象是使用new操作符后跟一个构造函数 ...

  2. C# Redis分布式锁 - 单节点

    为什么要用分布式锁? 先上一张截图,这是在浏览别人的博客时看到的. 在了解为什么要用分布式锁之前,我们应该知道到底什么是分布式锁. 锁按照不同的维度,有多种分类.比如 1.悲观锁,乐观锁; 2.公平锁 ...

  3. 头文件afx.h作用

    转载:https://blog.csdn.net/OnceMonkeyG/article/details/95723290 一些定义与设置,为MFC提供最基本支持,将各种松散的东西组织起来,同时为MF ...

  4. 【题解】CF1426E Rock, Paper, Scissors

    题目戳我 \(\text{Solution:}\) 考虑第二问,赢的局数最小,即输和平的局数最多. 考虑网络流,\(1,2,3\)表示\(Alice\)选择的三种可能性,\(4,5,6\)同理. 它们 ...

  5. C# Dropdownlist设置选择项

    (1)   dropdowslist.selectedIndex=索引值(数字); (2) dropdownlist.Items.findbyvalue(你的值).selected=true   (3 ...

  6. Docker笔记5:实现加速器,加快下载/拉取镜像速度

    由于 Docker 官方仓库存储于国外服务器,因此,我们使用d ocker pull 命令拉取镜像时,速度很慢.但是,我们可以使用国内服务商提供的加速器进行加速,加速器实质是一个IP地址,将其加入到d ...

  7. devops-jenkins部署和基本使用

    1. jenkins部署和基本使用  1.1) 先关闭centos 7的自带防火墙和selinux [root@test-2 ~]# /bin/systemctl stop firewalld [ro ...

  8. postgreSQL与Kingbase 字符串裁剪区别

    --postgreSQL postgres=# select substring('abcdefg',0,4); substring abc (1 行记录) postgres=# select sub ...

  9. 游戏2048的核心算法c#版本的实现

    接触游戏有一段时间了,也写了一些东西,效果还不错,今天没事,我就把2048 c# 版本的实现贴出来,代码已经测试过,可以正常.完美运行.当然了,在网上有很多有关2048的实现方法,但是没有提出到类里面 ...

  10. day28 Pyhton 面向对象 继承

    1.昨日回顾 类的命名空间 静态属性\动态属性(方法) 对象的命名空间 #对象的属性 #类指针:对象能够通过这个类指针找到类 #静态属性:属于类,多个对象共享这个资源 #尽量用类名来操作静态属性 #对 ...