今天继续学习了流,还学习了XML:
1、操作流时,如果文件不存在会出现什么情况?
文件操作流时,如果文件不存在,读取流会抛出FileNotFoundException异常,写入流会创建一个新文件。
2、操作流时,如果流不关闭会出现什么情况?
流操作完毕后,如果流不关闭,那么不会释放流操作时占用的资源,而且写入流有可能写不进数据。
3、如何判断一个文件是否存在?如何创建一个目录?如何知道一个目录中有多少文件?
判断文件是否存在: File f = new File("aaa.txt");
boolean isex = f.exists();
System.out.println(isex);
创建新目录: f.mkdir();
用递归算法可以知道一个目录中有多少文件。
4、什么是对象序列化?如何实现对象序列化?
对象序列化:当需要传输对象时,由于对象中封装了很多属性和方法,数据量庞大。所以在传输对象前,需要将对象打散成字节序列,以利于传输。这个过程叫做对象序列化。
5、什么是XML?XML声明是怎样的?XML注释是怎样的?
XML:可扩展的标记语言。以标记和子标记来描述对象及其属性的。
6、一个格式良好的XML有哪些规定?
1)必须有XML声明语句
2)必须有且仅有一个根元素
3)标记大小写敏感
4)标记成对
5)属性值用引号
6)空标记关闭
7)元素正确嵌套
7、格式良好的XML和有效的XML有什么区别?
格式良好的XML必须满足XML基本语法规范
有效的XML文件除了必须满足XML基本语法之外,还必须符合DTD和Schema定义元素规则
8、DOM和SAX有什么区别?
DOM :是基于树状结构的API。
整个XML文档必须在内存中解析和存储。
客户端应用程序就可以随机访问这些对象。
大型文档则会造成内存紧张。
SAX : 不必将整个文件加载到内存中,占用的内存少。
不能对文档进行随机访问。
SAX是只读的。
文档只能遍历一次。