流
什么是java序列化?如何实现java序列化?
序列化就是用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以将流化后的对象进行读写操作,也可以将流化后的对象传输与网络之间。序列化就是为了解决在对对象流进行读写操作时引发的问题;
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需实现的方法,implements Serializeble只是为了标注该对象是可序列化的,然后使用一个输出流(如FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着使用ObjectOutputStream对象的WriterObject(Object obj)就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输出流。
java中由几种对象的流?JDK为每种类型的流提供了一些抽象类以供继承,具体由哪些类?
字节流、字符流。字节流继承与InputStream、OutputStream,字符流继承于Reader、Writer。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。
文件和目录(IO)操作
如何列出某个目录下的所有文件?
1 //示范代码如下
2 File file = new File("D:\\Person");
3 File[] files = file.listFiles();
4 for (int i = 0; i < files.length; i++) {
5 if (files[i].isFile()) {
6 System.out.println(files[i]);
7 } else {
8 System.out.println("该目录下没有文件");
9 }
10 }
如何列出某个目录下的所有子目录?
1 //示范代码如下
2 File file = new File("D:\\Person");
3 File[] files = file.listFiles();
4 for (int i = 0; i < files.length; i++) {
5 if (files[i].isDirectory()) {
6 System.out.println(files[i]);
7 }
8 }
如何判断一个文件或目录是否存在?
1 System.out.println(new File("D:\\Person").exists());
如何读写文件?
1 //读文件
2 FileInputStream fis = new FileInputStream("D:\\Person.txt");
3 byte[] bytes = new byte[1024*10];
4 while (true) {
5 int len = fis.read(bytes);
6 if (len <= 0) break;
7 System.out.println(new String(bytes, 0, len));
8 }
9 fis.close();
10 //写文件
11 FileWriter fw = new FileWriter("D:\\test.txt");
12 fw.write("Hello" + System.getProperty("line.separator"));
13 fw.write("World!");
14 fw.close();