什么是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();    

 

posted @ 2018-10-15 18:22  國仕無雙  阅读(196)  评论(0编辑  收藏  举报