<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BloveSaga

    在希臘帕爾納斯山南坡上,有一個馳名世界的戴爾波伊神托所,在它的入口處的巨石上赫然銹刻著這樣幾個大字: 認(rèn)識你自己!

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      34 隨筆 :: 12 文章 :: 122 評論 :: 0 Trackbacks

    ? 編碼:將一個Unicode碼轉(zhuǎn)換為本地字符表示的過程為編碼。
    ? 解碼:將一個字節(jié)轉(zhuǎn)換為一個字符(用Unicode表示),這個過程叫解碼。
    ??????? [簡單的說去獲取一個Unicode碼就是解碼]
    ?code:

    import java.util.*;
    import java.nio.charset.*;
    class CharsetTest
    {
    ?public static void main(String[] args)throws Exception
    ?{
    ??/*
    ??Map m=Charset.availableCharsets();
    ??Set names=m.keySet();
    ??Iterator it =names.iterator();
    ??while(it.hasNext())
    ??{
    ???System.out.println(it.next());
    ??}
    ??*/
    ??Properties pps=System.getProperties();
    ??//pps.list(System.out);
    ??pps.put("file.encoding","ISO-8859-1");
    ??int data;
    ??byte[] buf=new byte[100];
    ??int i=0;
    ??while((data=System.in.read())!='q')
    ??{
    ???buf[i]=(byte)data;
    ???i++;
    ??}
    ??String str=new String(buf,0,i);
    ??//String strGBK=new String(str.getBytes("ISO-8859-1"),"GBK");
    ??//System.out.println(strGBK);
    ??System.out.println(str);
    ?}
    }

    ?

    ???? RandomAccessFile

    ? RandomAccessFile類同時實現(xiàn)了DataInput和DataOutput接口,提供了對文件隨機存取的功能,
    ? 利用這個類可以在文件的任何位置讀取或?qū)懭霐?shù)據(jù)。
    ? RandomAccessFile類提供了一個文件指針,用來標(biāo)志要進行讀寫操作的下一位數(shù)據(jù)的位置。

    ?
    ?code:
    import java.io.*;
    class RandomFileTest
    {
    ?public static void main(String[] args)throws Exception
    ?{
    ??Student s1 = new Student(1,"zhangsan",98.5);
    ??Student s2 = new Student(2,"lisi",90.5);
    ??Student s3 = new Student(3,"wangwu",78.5);
    ??
    ??RandomAccessFile rsf=new RandomAccessFile("student.txt","rw");? //存取模式rw
    ??s1.WriteStudent(rsf);
    ??s2.WriteStudent(rsf);
    ??s3.WriteStudent(rsf);
    ??
    ??Student s =new Student();
    ??rsf.seek(0); //把文件指針移到文件首
    ??for(long i=0;i<rsf.length();i=rsf.getFilePointer())
    ??{
    ???s.ReadStudent(rsf);
    ???System.out.println(s.num+":"+s.name+":"+s.score);
    ??}
    ??rsf.close();
    ?}
    }

    class Student
    {
    ?int num;
    ?String name;
    ?double score;
    ?Student()
    ?{
    ??
    ?}
    ?Student(int num,String name,double score)
    ?{
    ??this.num=num;
    ??this.name=name;
    ??this.score=score;
    ?}
    ?public void WriteStudent(RandomAccessFile raf)throws Exception
    ?{
    ??raf.writeInt(num);
    ??raf.writeUTF(name);
    ??raf.writeDouble(score);
    ?}
    ?public void ReadStudent(RandomAccessFile raf)throws Exception
    ?{
    ??raf.readInt();
    ??raf.readUTF();
    ??raf.readDouble();??
    ?}
    }


    ?????????? 對象序列化

    ?.將對象轉(zhuǎn)換為字節(jié)流保存起來,并在日后還原這個對象,這種機制叫做對象序列化。
    ?.將一個對象保存到永久存儲設(shè)備上稱為持續(xù)性。
    ?.一個對象要想能夠?qū)崿F(xiàn)序列化,必須實現(xiàn)Serializable接口或Externalizable接口。
    ?.當(dāng)一個對象被序列化時,只保存對象的非靜態(tài)成員變量,不能保存任何的成員變量和靜態(tài)的
    ? 成員變量。
    ?.如果一個對象的成員變量是一個對象,那么這個對象的數(shù)據(jù)成員也會被保存。
    ?.如果一個可序列化的對象包含對某個不可序列化的對象的引用,那么整個序列化操作將會失敗,
    ? 并且會拋出一個NotSerializableException。我們可以將這個引用標(biāo)記為transient,那么對象
    ? 仍然可以序列化。

    ?code:
    import java.io.*;
    class ObjectSerialTest
    {
    ?public static void main(String[] args)throws Exception
    ?{
    ??Employee e1 = new Employee("zhangsan",20,2800.50);
    ??Employee e2 = new Employee("lisi",22,25000.50);
    ??Employee e3 = new Employee("wangwu",23,12800.50);
    ??Employee e4 = new Employee("blovesaga",22,3800.50);
    ??
    ??FileOutputStream fos=new FileOutputStream("employee.txt");
    ??ObjectOutputStream oos=new ObjectOutputStream(fos);
    ??oos.writeObject(e1);
    ??oos.writeObject(e2);
    ??oos.writeObject(e3);
    ??oos.writeObject(e4);
    ??oos.close();
    ??
    ??FileInputStream fis = new FileInputStream("employee.txt");
    ??ObjectInputStream ois =new ObjectInputStream(fis);
    ??Employee e;
    ??for(int i=0;i<4;i++)
    ??{
    ???e=(Employee)ois.readObject();
    ???System.out.println(e.name+":"+e.age+":"+e.salary);
    ??}
    ??ois.close();
    ?}
    }

    class Employee implements Serializable
    {
    ?String name;
    ?int age;
    ?double salary;
    ?transient Thread t1 =new Thread();
    ?Employee(String name,int age,double salary)
    ?{
    ??this.name=name;
    ??this.age=age;
    ??this.salary=salary;
    ?}
    ?//可以寫private void readObject()方法來控制我們自己想要實現(xiàn)的
    ?private void writeObject(java.io.ObjectOutputStream oos)throws Exception
    ?{
    ??//例如我們自己寫想要顯示的順序和那些需要顯示
    ??oos.writeInt(age);
    ??oos.writeUTF(name);
    ??System.out.println("Write Object");
    ?}
    ?private void readObject(java.io.ObjectInputStream ois)throws Exception
    ?{
    ??//按照寫入的順序來讀取
    ??age=ois.readInt();
    ??name=ois.readUTF();
    ??System.out.println("Read Object");
    ?}
    }

    posted on 2006-06-11 21:27 藍(lán)色Saga 閱讀(153) 評論(0)  編輯  收藏 所屬分類: Basic Study for JAVA
    主站蜘蛛池模板: 亚洲一区二区三区乱码A| 免费h视频在线观看| 无码国产精品久久一区免费 | 免费女人18毛片a级毛片视频| 亚洲youjizz| 黄色成人网站免费无码av| 国产亚洲国产bv网站在线| 五月婷婷在线免费观看| 亚洲国产夜色在线观看| 免费看韩国黄a片在线观看| 亚洲精品理论电影在线观看| 在线观看成人免费| 老牛精品亚洲成av人片| 亚洲国产成人精品久久久国产成人一区二区三区综| 亚洲最大天堂无码精品区| 国产成人精品男人免费| 一级成人生活片免费看| 国产亚洲成av片在线观看| 午夜不卡久久精品无码免费| 亚洲伊人色一综合网| 永久免费看bbb| caoporm超免费公开视频| 亚洲bt加勒比一区二区| 成年轻人网站色免费看| 免费很黄无遮挡的视频毛片| 亚洲毛片αv无线播放一区| 最近免费视频中文字幕大全| 亚洲中文字幕无码久久2020 | 成人免费毛片视频| 免费看一级高潮毛片| 亚洲AV日韩AV永久无码下载| 免费精品国产自产拍在| 免费观看四虎精品成人| 亚洲电影一区二区三区| 在线播放高清国语自产拍免费 | 一个人免费视频观看在线www | 日韩在线观看视频免费| 久久久亚洲欧洲日产国码aⅴ| 黄色片在线免费观看| 国产免费人成视频在线播放播| 亚洲白色白色在线播放|