一、异常处理
- 声明异常的关键字:throws
- 抛出异常后,编译器会跳到catch块;若没有,则跳到调用该方法的方法,继续查找catch块,如果在打印链中都找不到,程序终止并在控制台打印
- catch块
- 一个catch块可以捕获一个异常对象,它就能捕获其所有异常子类的异常
- 若多个catch块,异常子类的顺序必须在其父类的前面
4. Java API
中的大多数异常类都包含两个构造方法:一个无参、一个有参
二、
文本
I/O
1.File
类
- 方法:
File(String pathname)
|
为指定的路径名创建一个
File
对象;路径名可能是一个目录或文件,
|
File(String parent,String child)
|
在目录
parent
下创建一个路径
child
的
File
对象;路径名可能是一个目录或文件
|
File(File parent,String child)
|
在目录
parent
下创建一个子路径
child
的
File
对象
|
exists()
|
File
对象代表的文件和目录存在
|
canRead()
|
File
对象代表的文件存在且可读
|
canWrite()
|
File
对象代表的文件存在且可写
|
idDirectory()
|
File
对象是否目录
|
isFIle()
|
File
对象是否文件
|
isAbsolute()
|
File
对象是否以绝对路径名创建的
|
isHidden()
|
File
对象是否隐藏
|
getAbsolutePath()
|
返回
File
对象代表的文件和目录的完整绝对路径名
|
getCanonicalPath()
|
返回
File
对象代表的文件和目录的完整绝对路径名(处理过的格式)
|
getName()
|
返回
File
对象代表的目录和文件名的最后名字
|
getPath
|
返回
File
对象代表的完整的目录和文件名
|
getParent()
|
返回
File
对象代表的当前目录和文件的完整父目录
|
lastModified()
|
返回最后的修改时间
|
length()
|
返回文件的大小
|
listFile()
|
返回一个目录
File
对象下面的文件
|
delete()
|
删除
File
对象代表的目录或文件
|
renameTo(FIle dest)
|
将
File
对象代表的文件或目录改名为
dest
|
mkdir()
|
创建目录
|
midirs()
|
创建目录,若父目录不在,父目录也创建
|
- File类是文件名及其目录路径的一个包装类
- 路径:windows的目录分隔符是”\”,Java中是”\\”
三、 文件输入和输出
- PrintWriter类:向文本写入数据
- 方法:
PrintWriter(File file)
|
为指定的文件对象创建一个
PrintWriter
对象
|
PrintWriter(String filename)
|
为指定的文件名字符串创建一个
PrintWriter
对象
|
print(String s)
|
将字符串写入文件中
|
print(char c)
|
将字符写入文件中
|
print(char[] cArray)
|
将字符数组写入文件中
|
print(int i)
|
将一个
int
值写入文件中
|
print(long l)
|
将一个
long
值写入文件中
|
print(float f)
|
将一个
float
值写入文件中
|
print(double d)
|
将一个
double
值写入文件中
|
print(boolean b)
|
将一个
boolean
值写入文件中
|
还有
println
的重载方法
|
也是写入,但最后带换行符
|
还有
printf
的重载方法
|
带格式写入
|
- 写完后,必须使用close方法关闭文件。如果没有调用该方法,数据就不能正确地保存在文件中
- try-with-resource:自动关闭资源(JDk1.8以后)
- Scanner类:从控制台读取字符串和基本类型数值
- 为了从文件中读取,须为文件创建一个Scanner对象
- 方法:
Scanner(File source)
|
创建一个
Scanner
,从指定文件中扫描标记
|
Scanner(String source)
|
创建一个
Scanner
,从指定字符串中扫描标记
|
close()
|
关闭
Scanner
对象
|
hasNext()
|
如果
Scanner
还有更多数据读取,则返回
true
|
next()
|
从该
Scanner
中读取下一个标记作为字符串返回
|
nextLine()
|
读取一行,以换行结束
|
nextByte()
|
从该
Scanner
中读取下一个标记作为
byte
值返回
|
nextShort()
|
从该
Scanner
中读取下一个标记作为
short
值返回
|
nextInt()
|
从该
Scanner
中读取下一个标记作为
int
值返回
|
nextLong()
|
从该
Scanner
中读取下一个标记作为
long
值返回
|
nextFloat()
|
从该
Scanner
中读取下一个标记作为
float
值返回
|
nextDouble()
|
从该
Scanner
中读取下一个标记作为
double
值返回
|
useDelimiter(String pattern)
|
设置
Scanner
的分割符,并且返回该
Scanner
|
- 声明Scanner(文件指针)须声明异常(Exception)
- next方法无须进行类型转换,如果输入和期望的类型不匹配,就会抛出一个运行异常java.util.InputMismatchException;以空白符为结束标记,nextLine方法以换行符为结束标记
- Web爬虫:可跟随超链接来自动遍历Web的程序