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(); } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值