日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

java讀寫二進(jìn)制文件用datainputstream和dataoutputstream

 hh3755 2011-09-15
/**  
 * 二進(jìn)制讀寫文件  
 */  
import java.io.BufferedInputStream;   
import java.io.BufferedOutputStream;   
import java.io.DataInputStream;   
import java.io.DataOutputStream;   
import java.io.FileInputStream;   
import java.io.FileOutputStream;   
  
public class MainClass   
{   
    /**  
     * java.io包中的OutputStream及其子類專門用于寫二進(jìn)制數(shù)據(jù)。  
     * FileOutputStream是其子類,可用于將二進(jìn)制數(shù)據(jù)寫入文件。  
     * DataOutputStream是OutputStream的另一個(gè)子類,它可以  
     * 連接到一個(gè)FileOutputStream上,便于寫各種基本數(shù)據(jù)類型的數(shù)據(jù)。  
     */  
    public void writeMethod1()   
    {   
        String fileName="c:/kuka1.dat";   
        int value0=255;   
        int value1=0;   
        int value2=-1;   
        try  
        {   
            //將DataOutputStream與FileOutputStream連接可輸出不同類型的數(shù)據(jù)   
            //FileOutputStream類的構(gòu)造函數(shù)負(fù)責(zé)打開文件kuka.dat,如果文件不存在,   
            //則創(chuàng)建一個(gè)新的文件,如果文件已存在則用新創(chuàng)建的文件代替。然后FileOutputStream   
            //類的對象與一個(gè)DataOutputStream對象連接,DataOutputStream類具有寫   
            //各種數(shù)據(jù)類型的方法。   
            DataOutputStream out=new DataOutputStream(new FileOutputStream(fileName));   
            out.writeInt(value0);   
            out.writeInt(value1);   
            out.writeInt(value2);   
            out.close();   
        } catch (Exception e)   
        {   
            e.printStackTrace();   
        }   
    }   
    //對于大量數(shù)據(jù)的寫入,使用緩沖流BufferedOutputStream類可以提高效率   
    public void writeMethod2()   
    {   
        String fileName="c:/kuka2.txt";   
        try  
        {   
            DataOutputStream out=new DataOutputStream(   
                                 new BufferedOutputStream(   
                                 new FileOutputStream(fileName)));   
            out.writeInt(10);   
            System.out.println(out.size()+" bytes have been written.");   
            out.writeDouble(31.2);   
            System.out.println(out.size()+" bytes have been written.");   
            out.writeBytes("JAVA");   
            System.out.println(out.size()+" bytes have been written.");   
            out.close();   
        } catch (Exception e)   
        {   
            e.printStackTrace();   
        }   
    }   
    /**  
     * 對二進(jìn)制文件比較常見的類有FileInputStream,DataInputStream  
     * BufferedInputStream等。類似于DataOutputStream,DataInputStream  
     * 也提供了很多方法用于讀入布爾型、字節(jié)、字符、整形、長整形、短整形、  
     * 單精度、雙精度等數(shù)據(jù)。  
     */  
    public void readMethod1()   
    {   
        String fileName="c:/kuka1.dat";   
        int sum=0;   
        try  
        {   
            DataInputStream in=new DataInputStream(   
                               new BufferedInputStream(   
                               new FileInputStream(fileName)));   
            sum+=in.readInt();   
            sum+=in.readInt();   
            sum+=in.readInt();   
            System.out.println("The sum is:"+sum);   
            in.close();   
        } catch (Exception e)   
        {   
            e.printStackTrace();   
        }   
    }   
       
    public void readMethod2()   
    {   
        try  
        {   
            FileInputStream stream=new FileInputStream("c:/kuka.dat");   
            int c;   
            while((c=stream.read())!=-1)   
            {   
                System.out.println(c);   
            }   
        } catch (Exception e)   
        {   
            e.printStackTrace();   
        }   
    }   
}  

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多