1.内部类
内部类与外嵌类关系:
2.匿名类
和子类相关
匿名类时是一个子类在创建对象时去掉类声明后的类体
和接口相关
匿名类是实现了接口的类去掉类声明后的类体
3.异常类
try {
包含可能发生异常的语句(发生异常后的语句都不会被执行)
}
catch(ExceptionSubClass1 e) {
....
}
catch(ExceptionSubClass2 e) {
....
}
自定义语句
4.断言
关键字 assert
assert booleanExpression;
assert booleanExpression:messageException(booleanExpression值为true继续执行;为false给出问题信息
#### 第十章 输入、输出流
1.File类
File(String filename(文件名));
File(String directotyPath(文件路径),String filename);
File(File dir(目录),String filename);
public boolean mkdir()
创建目录public String[] list(FilenameFilter obj)
用字符串形式返回目录下指定类型的所有文件public File [] listFiles(FilenameFilter obj)
用File对象形式返回目录下的指定类型所有文件文件创建与删除
public boolean createNewFile()
建立相应文件file.delete();
删除当前文件运行可执行文件
Runtime ec = Runtime.getRuntime();
创建对象2.文件字节输入流
基本步骤
构造方法
FileInputStream(String name);
FileInputStream(File file);
3.文件字节输出流
基本步骤
构造方法
FileOutputStream(String name);
FileOutputStream(File file);
4.文件字符输入输出流
构造方法
FileReader(Srting Filename); FileReader(File Filename);
FileWriter(Srting Filename); FileWriter(File Filename);
FileWriter(Srting Filename,boolean append); FileWriter(File Filename,,boolean append);
5.缓冲流
BufferedReader和BufferedWriter创建的对象成为缓冲输入输出流,增强文件读写能力,二者的源和目的地必须是字符输入和输出流
FileReader inOne = new FileReader("Wenjian.txt");
BufferedReader inTwo = BufferedReader(inOne);
FileWriter tofile = new FileWriter("Wenjian.txt");
BufferedWriter out = BufferedWriter(tofile);
6.随机流
RandomAccessFile类创建的对象称为随机流,该类既不是InputStream类的子类,也不是OutputStream的子类
替换或尾加文件内容
构造方法
RandomAccessFile(String name,String mode)
RandomAccessFile(File file,String mode)
7.数组流
ByteArrayInputStream(bytep[] buf);
ByteArrayInputStream(bytep[] buf,in offset(开始取得位置),int length(字节长度));
ByteArrayOutputStream(); (默认大小32字节)
ByteArrayOutputStream(int size(初始大小));
字符数组流
8.数据流
DataInputStream(InputStream in) 创建的数据输入流指向由参数in指向的底层输入流
DataOutputStream(OutputStream out) 创建的数据输出流指向由参数out指向的底层输出流
9.对象流
FIleOutputStream filOut = new FIleOutputStream("wenjian.txt");
ObjectOutputStream objectOut = new ObjectOutputStream(fileOut);
FIleInputStream filIn = new FIleInputStream("wenjian.txt");
ObjectInputStream objectIn = new ObjectInputStream(fileIn);
10.序列化与对象克隆
11.使用Scanner解析文件
File file = new File("wenjian.java");
Scanner sc = new Scanner(file);
File file = new File("wenjian.java");
Scanner sc = new Scanner(file);
sc.useDelimter(正则表达式);
12.文件对话框
13.带进度条的输入流
14.文件锁
问题1:在IDEA中运行Example10_4代码时总是提示找不到相应文件,尝试在终端下运行仍然出现相同错误
问题1解决办法:IDEA在运行时会自动把".class"文件放到out目录下,因此在运行时会提示找不到文件,之后还有一些例子中的代码也是同样的情况。在反复测试后,在外部建立一个文件将源文件和字节码文件放在一个文件夹中,就可以显示相应内容了
问题2:第十章中给出了很多输入输出类,首先对于这些类不是很了解,此外很多类中的方法都看不懂
问题2解决方法:对于输入输出类的具体作用和用法在观看了视频的讲解后有了更加深入的了解,虽然现在还有一些晕乎乎的,但是比刚刚学习的时候思路清晰了很多,对于流中类的具体功能,花费了大量时间查看API文档后已经了解了他们的作用
问题3:为什么书上的代码中自动产生的文件和运行过程中需要用到的文件都需要放在或者产生在仓库的根目录下(和src文件夹同级的目录下)
问题3解决办法:......虽然现在可以 让代码正常运行,但依旧暂时没搞懂......等待大佬的解答
已经融合到上面了
https://gitee.com/wangzihong/20175209/tree/master/src
虚拟机崩掉了,所以这周的是在Windows里完成的
本周的学习内容较多,因此花费了很多的时间,第七章的内容对于我比较简单,也比较容易理解。但是第十章学起来较为困难,首先第十章的内容很多有比较像,之间有很多相似和不同的地方用以弄混,尤其是构造方法和类中含有的特殊方法需要仔细记忆;此外很多类中的方法都不了解,需要花费大量的时间去查找理解,第十章后几节的内容比较总和,涉及到了标签和锁等知识点,还涉及到八九章还没有学的部分,虽然稍微看了一下下但是理解起来还是有些问题。我觉得Java现阶段已经到了质和量共存的时候,在大量学习的同时必须要保证学到的东西能掌握,否则往后学习会更加困难
代码行数(累计总数) | 博客量 | 学习时间 | |
---|---|---|---|
目标 | 8000 | 40 | 300 |
第一周 | 19 | 1 | 12 |
第二周 | 309 | 2 | 15 |
第三周 | 740 | 3 | 10 |
第四周 | 1468 | 4 | 10 |
第五周 | 1922 | 8 | 8 |
第六周 | 3290 | 12 | 15 |
原文:https://www.cnblogs.com/wangzihong0213/p/10666561.html