第二十六节(对象流,File类)
生活随笔
收集整理的這篇文章主要介紹了
第二十六节(对象流,File类)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
對(duì)象流可以將 Java 對(duì)象轉(zhuǎn)換成二進(jìn)制寫入磁盤,這個(gè)過程通常叫做序列化,并且還可以從磁盤讀出完整的 Java 對(duì)象,而這個(gè)過程叫做反序列化。對(duì)象流主要包括:ObjectInputStream 和 ObjectOutputStream如何實(shí)現(xiàn)序列化和反序列化如果實(shí)現(xiàn)序列化該類必須實(shí)現(xiàn)序列化接口 java.io. Serializable , 該接口沒有任何方法, 該接口只是一種標(biāo)記接口,標(biāo)記這個(gè)類是可以序列化的/*對(duì)象流:對(duì)象流可以將java對(duì)象轉(zhuǎn)換成二進(jìn)制寫入磁盤,這個(gè)過程叫做“序列化”還可以從磁盤讀取完整的Java對(duì)象,這個(gè)過程叫 “反序列化”包括:ObjectInputStream 和 ObjectOutputStreamjava.io.Serializable */import java.io.*;public class ObjectStreamTest01{public static void main(String[] ags){ObjectOutputStream oos = null;try{FileOutputStream fos = new FileOutputStream("C:\\work\\Java\\arry.txt");oos = new ObjectOutputStream(fos); Student stu = new Student();stu.name = "ming太帥了,沒道理不愛你 !";oos.writeObject(stu);} catch(FileNotFoundException e){e.printStackTrace(); } catch(IOException e){e.printStackTrace(); } finally{try{if(oos != null){oos.close(); }} catch(IOException e){e.printStackTrace(); }}}}// 實(shí)現(xiàn)序列化接口
class Student implements Serializable{String name;
}///*對(duì)象流:對(duì)象流可以將java對(duì)象轉(zhuǎn)換成二進(jìn)制寫入磁盤,這個(gè)過程叫做“序列化”還可以從磁盤讀取完整的Java對(duì)象,這個(gè)過程叫 “反序列化”包括:ObjectInputStream 和 ObjectOutputStreamjava.io.Serializable */import java.io.*;public class ObjectStreamTest02{public static void main(String[] ags){ObjectInputStream ois = null;try{FileInputStream fis = new FileInputStream("C:\\work\\Java\\arry.txt");ois = new ObjectInputStream(fis);// 反序列化Student stu = (Student)ois.readObject();System.out.println(stu.name);}catch(FileNotFoundException e){e.printStackTrace(); }catch(IOException e){e.printStackTrace();}catch(ClassNotFoundException e){e.printStackTrace(); } finally{try{if(ois != null){ois.close(); }}catch(IOException e){e.printStackTrace(); }}}}// 實(shí)現(xiàn)序列化接口
class Student implements Serializable{String name;
} File 提供了大量的文件操作:刪除文件,修改文件,得到文件修改日期,建立目錄、列表文件等/*java.io.File;1. File類與流無關(guān),不能通過該類完成文件的讀和寫2. File是文件和目錄路徑名的抽象的表現(xiàn)形式File代表的是硬盤上的Directory 和 file*/import java.io.*;public class FileTest01{public static void main(String[] args){// path 相對(duì)路徑File f1 = new File("PrintStreamTest02.java");File f2 = new File("C:\\work\\Java\\course\\vip\\JavaSE-Course-Arry\\chapter26\\PrintStreamTest02.java");File f3 = new File("C:\\work\\Java");System.out.println(f1.exists());//輸出trueSystem.out.println(f2.exists());//trueSystem.out.println(f3.exists());//true
File f4 = new File("c:\\yyy");System.out.println(f4.exists());// 如果不存在在創(chuàng)建if(!f4.exists()){// 創(chuàng)建目錄
f4.mkdir();try{// 創(chuàng)建文件
f4.createNewFile();}catch(IOException e){e.printStackTrace();} }File f5 = new File("c:\\a\\b\\c\\d");if(!f5.exists()){f5.mkdirs(); // C:\a\b\c\d
}}}//*File類中的部分方法*/import java.io.*;
import java.util.*;
import java.text.*;public class FileTest02{public static void main(String[] args){// 獲取絕對(duì)路徑File f1 = new File("FileTest01.java");String absolutePath = f1.getAbsolutePath();System.out.println("絕對(duì)路徑:" + absolutePath);// 獲取文件名System.out.println("文件名:"+f1.getName());// 獲取父路徑File f2 = new File("C:\\work\\Java\\course\\vip\\JavaSE-Course-Arry\\chapter26");String parentPath = f2.getParent();System.out.println(parentPath);// 判斷該File 是文件File還是目錄DirectorySystem.out.println(f1.isDirectory());//falseSystem.out.println(f1.isFile());//true// 獲取文件的最后一次修改時(shí)間Date d = new Date(f1.lastModified());System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS").format(d));// 獲取文件的長(zhǎng)度(字節(jié)數(shù))System.out.println("文件的長(zhǎng)度:" + f1.length());File f3 = new File("C:\\work\\Java\\course\\vip\\JavaSE-Course-Arry\\chapter26");File[] fs = f3.listFiles();//遍歷for(File f : fs){if(f.getAbsolutePath().endsWith(".java")){System.out.println("絕對(duì)路徑 : " + f.getAbsolutePath()); }}}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/Deng1185246160/p/4234329.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的第二十六节(对象流,File类)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个简单的pygame接金币游戏
- 下一篇: ubuntu笔记1