加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java读写二进制文件

发布时间:2020-12-14 23:18:39 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOut

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

    import java.io.DataInputStream;  
    import java.io.DataOutputStream;  
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.FileOutputStream;  
    import java.io.IOException;  
      
     
    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();  
        }  
    }  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读