• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Java读写二进制文件

JAVA相关 水墨上仙 2487次浏览

Java读写二进制文件

import java.io.DataInputStream;  
import java.io.DataOutputStream;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  
import java.io.IOException;  
  
/* @comany 阿斯达克(深圳)信息技术有限公司 
* @author steven.wu 
* @since 2009.8.11 
* @description read and write stream for binary file。 
*/  
public class BinaryReadWrite {  
    private DataInputStream dis=null;  
    private DataOutputStream dos=null;  
    private String s_FilePath="d:/bin.dat";  
    private byte[] m_datapadding = { 0x00 }; //填充空白,以补足字节位数.  
      
    public BinaryReadWrite() {  
        // TODO Auto-generated constructor stub  
        init();  
    }  
    private void init(){  
        try{  
            if(!new File(s_FilePath).exists()){  
                new File(s_FilePath).createNewFile();  
            }  
            dis=new DataInputStream(new FileInputStream(new File(s_FilePath)));  
            dos=new DataOutputStream(new FileOutputStream(new File(s_FilePath)));  
        }catch(Exception e){  
            e.printStackTrace();  
        }  
    }  
    public void writeBinaryStream(){  
        try{  
            if(dos!=null){  
                for(int i=0;i<2;i++){  
                    //write boolean value.  
                    dos.writeBoolean(true);  
                    //write a char value.  
                    char c='a';  
                    dos.writeChar((int)c);  
                    Double d=12.567d;  
                    dos.writeDouble(d);  
                    Float f=56.782f;  
                    dos.writeFloat(f);  
                    int k=105;  
                    dos.writeInt(k);  
                    long l=98765l;  
                    dos.writeLong(l);  
                    short st=12;  
                    dos.writeShort(st);  
                    String cs="Java读写二进制文件";  
                    String cs1="二进制文件";  
                    if(i==0){  
                        dos.writeUTF(cs);  
                    }else{  
                        dos.writeUTF(cs1);  
                    }  
                    dos.write(m_datapadding);  
                }  
                dos.flush();  
                dos.close();  
            }  
        }catch(Exception e){  
            e.printStackTrace();  
        }  
    }  
    public void readBinaryStream(){  
        try{  
            if(dis!=null){  
                while(dis.available()>0){  
                    System.out.println(dis.available());  
                    System.out.println(dis.readBoolean());  
                    char c=(char)dis.readChar();  
                    System.out.println(c);  
                    System.out.println(dis.readDouble());  
                    System.out.println(dis.readFloat());  
                    System.out.println(dis.readInt());  
                    System.out.println(dis.readLong());  
                    System.out.println(dis.readShort());  
                    System.out.println(dis.readUTF());  
                    System.out.println(dis.read(m_datapadding));  
                }  
            }  
        }catch(Exception e){  
            e.printStackTrace();  
        }  
    }  
    public static void main(String[] args) throws IOException {  
        BinaryReadWrite bin=new BinaryReadWrite();  
        bin.writeBinaryStream();  
        bin.readBinaryStream();  
    }  
}  


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Java读写二进制文件
喜欢 (0)
加载中……