java基础视频25days(毕老师)学习日志(day20、day21)

原创 2012年03月26日 17:48:19

day20:

 ★01  File 概述:
用来将文件夹和文件封装成对象。
File对象出现弥补了流的不足,流:
不能操作文件夹,不能操作文件的属性信息,
c:\\abc\\zzz\a.txt
反斜杠或斜杠都可以,但是在linux下,这个符号是不同的,这样写就不利于跨平台。介绍:与系统有关的默认名称分隔符:separator。
\\ 被替换为:File.separator  为文件中对象的一个属性。跨平台的目录分隔符。

★02 File对象功能 创建和删除
  在硬盘上成功创建文件,就要调用系统的底层资源,所以就有可能发生异常。
创建文件:createNewFile() 调用此方法时注意要抛出异常!
★03 File对象功能 判断
只拿非隐藏的文件,隐藏的文件不要。
★04 File对象功能 获取
覆盖的原理是先删再创建。
renameTo()同一个目录下的功能时更改文件名;不同目录下则是剪切粘贴的功能。
★05 File 对象功能  文件列表
★06 File 对象功能  文件列表2
list(FilenameFilter filter)
接口:接口是一个特殊的类,具体同类的区别呢?
原来,这个对象的list方法,它在依据这个对象的accept方法的返回值来判定这个文件是不是需要的文件。
list() 获取的是当前文件夹下的文件及文件夹名称;
lisFiles()获取的是当前文件夹下的文件及文件夹对象。

能不能拿目录中的目录中的目录中的文件呢?换句话说就是能不能拿当前目录下,且包括子目录下的文件呢?

★07  列出目录下所有内容--递归。
lqle思考:可否使用递归来实现微积分中的极限概念?
内存溢出:因为方法调用次数太多,导致占满内存时,程序还没结束。
★08列出目录下所有内容--递归带层次
详见代码levelDemo.java
注意|--符号的添加方法,
★09 疑问:
第二次删除testdir的时候,为什么会出现false的情况?
自己试验时则没有出现此类问题!
★10 IO流 创建java文件列表
涉及到集合,导入util包。
该程序需要自己写一遍;
[03/20/12 09:41]
★11 IO流 properties对象;
存在于util包中。
不仅可以操作键值对,而且可以操作硬盘上的键值对信息。
配置文件ini中存储的就是软件的基本设置信息。可以用IO流的技术对这些信息进行编辑或获取。
集合中的数据存在内存中,而porperties可以操作硬盘中的数据。
★12 IO流 properties存取
Properties对象prop可以直接输打印在控制台上。
遍历所有键值对应的内容并打印:
1.5 之前用propertyNames()
1.6 开始使用stringPropertyNames()
★13 IO流 properties存取配置文件。
  加载字符流的方法load是1.6版本之后才有的。
Info.txt 中的信息带#号的是不加载的,
Properties加载的信息,必须是键值对。
★14 Properties练习题
目前能使用的键值对文件有两种:
xml
properties
视频时间:12:15:
count = Integer.parseInt(value)
value 不等于null,则记住,该方法是?

xml中封装的对象容易看,记录键值对信息相对较容易。
java本身就有取xml中数据的对象:
org.w3c.dom
document操作数据还是比较复杂,所以有牛人们做了
dom4j  :dom for java
这个工具到开发xml时候就要使用了
★15 Print Writer
字节输出流:OutputStream out
字节输出流:Writer
autoFlush   自动刷新输出缓冲流。
PrintWriter是很有用的类,注意视频结尾处的几个改动,需要自己练习变换。

为什么要选用vector集合?
为了图省事,就抛了IOException 异常,疑问不省事,全部写完的写法是怎样的呢?
使用FileWriter的写法再写一遍。
@lqle:
len=0 定义的byte[]是怎么回事?需要看以前的视频。
★16 IO流 切割文件。

 

day21:

 ★01 对象的系列化
NotSerializableException
没有方法的接口,通常称之为标记接口
Serializable
将Person的源代码中加入自定义的UID标识,则成员属性改变,生成的class文件的UID编码也是一样的,可以顺利读取原来存在硬盘中持久信息。
静态是不能被系列化的。

强制加UID后,Person加private 不变:
新的类还可以操作曾经被虚拟化的对象。
静态是不能被序列化的。因为在方法区当中。不在堆中。
对非静态的成员也不想让它被序列化的话,前面可以加:
transient
最后一句,write多个对象,可以一个一个地read出来,试验后,貌似不行。
 ★02 IO流 管道流
之前的读的流,要将数据独到一个数组中,写的时候,写的流再到数组中去取,所以需要一个中转站。
现在的管道流是不用的,读和写可以接上,不需要中转。
read方法是阻塞式方法,读的时候没有数据,则等待!
 只要没有读到数据,当按键盘录入数据的时候,这个动作吧线程唤醒了,所以可以看做是多线程,
 涉及到了多线程的IO技术的对象。

要么构造函数,要么使用connect方法。
多线程的例子没有完全看明白。
 ★03 IO流 RandomAccessFile
随机读写访问,多线程下载就是基于此原理,需要重点掌握。
1,模式
2,
3,通过seek方法随意更改指针的位置来控制数据的读取和写入。

数据要分段,所以要求数据有规律。
中国人姓名按照16个字节存,8个字。
 ★04  IO流 操作基本数据类型的流对象DataStream

 ★05 所涉及的内存为源,基本数据的操作
基本数据类型
字节数组
字符数组
字符串数组
 
★06 转换流的字符编码。
本视频稍作复习即可。
java中加入了编码表的流对象:
InputStreamReader
OutputStreamWriter
PrintStream
PrintWriter.

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)

★07 显示数组中的元素:
Arrays.toString(b1)
GBK 的代码让ISO8859-1解码,再将乱码文件编码返回,可以顺利放回GBK并正确显示,
如果换做UTF-8,则不行!因为它们都识别中文,编码解码过程中因为获取位数的关系,将产生混乱。
★08字符编码:联通
GBK和UTF-8 的特点,重复之处。

★09
ClassCastException 是RunTime的子类。

疑问:student类中hashCode作何用?19:43 视频时间
String info  转为整数:Integer.parseInt(info[1]),
Integer 类中的方法:parseInt 将字符串参数作为有符号的十进制整数进行解析。该类提供了多个方法,能在int类型和String类型之间相互转换。

强行逆转比较器!
类 Collections
reverseOrder()
          返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。

 

相关文章推荐

java基础视频25days(毕老师)学习日志(day23、24)

看基础视频也有一段时间了,这两天看的网络编程day23和day24的内容,下面发的笔记主要是听看视频时记录内容的。看视频最主要的是记住思路,然后可以自己按照思路写出代码,相信这样学习进步会快一些,所以...

java基础视频25days(毕老师)学习日志(day01、day02、day03)

day01 ★1 ,2,,3 dos命令行,课程中常见的命令。 dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : 进入指定目录 cd.. : ...

java基础视频25days(毕老师)学习日志(day07、day08、day09、day10)

day07 ★01  继承 注意:千万不要为了获取其他类的功能,简化代码而继承。 必须是类与类之间有所属关系才可以继承。所属关系is a。 ★02  继承概述2 继承的意义 1,提高了代码...

java基础视频25days(毕老师)学习日志(day04、day05、day06) .

day04 ★01 数组定义的两个格式。 数组在操作时容易出现的问题: ArrayIndexOutOfBoundsException 数组角标越界异常。操作数组时,访问到了数组中不存在的角标...

java基础视频25days(毕老师)学习日志(day11、day12、day13)

day11 ★01 多线程; 进程:是一个正在执行中的程序。       每一个进程执行都有一个执行顺序。该顺序是一个执行路径。      或者叫一个控制单元。 线程:就是进程中的一个独立的...

java基础视频25days(毕老师)学习日志(day14、day15、day16)

day14 ★01 ★02  collection framework 共性方法。 接口,没有构造方法摘要,只有方法摘要。 增删改查。容器 retainAll(Collection)   取...

java基础视频25days(毕老师)学习日志(day17、day18、day19)

day17 ★01 集合,不需要保证唯一,用List。可是想对集合中元素进行排序,不能用Tree,Tree是set集合中的,List里面没有直接排序的方式。可是提供了工具:collections...

Learn Emacs in 21 Days: day 1 学习笔记

1. Install emacs 2. turoial 3. build-in function 4. learn some elisp 5. start to hack emacs 6. pakag...

子龙山人Learn Emacs in 21 Days: day 6 学习笔记

1. org-mode 2. others 3. ag 4. flycheck & snippet

传智博客毕向东老师java基础视频笔记——Day 01

传智博客毕向东老师java基础视频笔记——Day 01 一:基础知识 1.1:软件开发    ①软件是一些列按照特定顺序组织的计算机数据以及指令的集合。目的为了处理现实生活中的数据。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java基础视频25days(毕老师)学习日志(day20、day21)
举报原因:
原因补充:

(最多只允许输入30个字)