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. 05 C语言的数据类型

    C语言的数据类型 在C 中,数据类型是用来声明不同类型的变量或函数的一个广泛的概念.变量的数据类型决定了变量存储占用的空间大小,以及如何去解释存储的位模式. C 中的数据类型可分为以下几大类: 序号 ...

  2. matlab中get查询图形对象属性

    来源:https://ww2.mathworks.cn/help/matlab/ref/get.html?searchHighlight=get&s_tid=doc_srchtitle get ...

  3. Java面试题系列 ----- Java基础面试题(91道)

    更多详情点击查看,点这里!这里!!这里!!! 文末获取所有面试PDF文档! Java概述 1. 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了 ...

  4. 多测师讲解自动化测试 _RF连接数据库_高级讲师肖sir

    RF连接数据库:1.Connect To Database(连接数据库)2.Table Must Exist(表必须存在)3.Check If Exists In Database(查询某条件是否存在 ...

  5. 多测师讲解python_斐波那契数列:_高级讲师肖sir

    def f(n): a,b=1,1 if n==1 or n ==2: return 1 else: i=3 while i<=n: a,b=b,a+b i+=1 return bprint(f ...

  6. GIT之分支管理

    分支管理 一.分支推进 主分支 单线分支,随着代码的提交而形成的一条直线,HEAD 随着commit提交之后的节点移动而移动. 子分支 当切换到子分支的时候,HEAD 则指向子分支的节点. 在子分支上 ...

  7. es 讲义

    链接: https://pan.baidu.com/s/193jObXs85OZcvAHDycUXlw 提取码: ewbp

  8. nginx优化:worker_processes/worker_connections/worker_rlimit_nofile

    一,优化nginx的worker进程数 1,worker_processes应设置为多少? worker_processes 4; 如何设置这个值: worker_processes默认值是1,一般要 ...

  9. Django创建表时报错django.db.utils.InternalError: (1366问题解决记录

    问题出现 执行Python manage.py makemigrations生成创建表的py文件 执行python manage.py migrate创建数据表 界面出现报错 问题原因 网上搜索原因, ...

  10. spring-boot-route(二十)Spring Task实现简单定时任务

    Spring Task是Spring 3.0自带的定时任务,可以将它看作成一个轻量级的Quartz,功能虽然没有Quartz那样强大,但是使用起来非常简单,无需增加额外的依赖,可直接上手使用. 一 如 ...