时间:2014-01-30 来源:

java读写二进制文件的解决方法

接口:Writerable
复制代码 代码如下:

package com.geoway.pad.common;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

public interface Writerable {
       //write 
       public void  write(DataOutput data) throws IOException;
       //read
       public  void read(DataInput di) throws IOException;
}

接口实现类:UserWriter
复制代码 代码如下:

package com.geoway.pad.common;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutput;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;

public class UserWriter implements Writerable{
    //getter  setter  methods
    public int getNumber() {
        return number;
    }
    public void setNumber(int number) {
        this.number = number;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public boolean isAdministrator() {
        return administrator;
    }
    public void setAdministrator(boolean administrator) {
        this.administrator = administrator;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPassword() {
        return password;
    }
    public void setText(String text) {
        this.text = text;
    }
    public String getText() {
        return text;
    }
    public void setImage(byte[] image) {
        this.image = image;
    }
    public byte[] getImage() {
        return image;
    };
    //private  fields
     private int number;
     private String id;
     private int age;
     private boolean administrator;
     private  String userName;
     private  String password;
     private  String text;
     private  byte[]  image;

    @Override
    public void write(DataOutput data) throws IOException {
       data.writeInt(number);
       data.writeUTF(id);
       data.writeInt(age);
       data.writeBoolean(administrator);
       data.writeUTF(userName);
       data.writeUTF(password);
       data.writeUTF(text);
       data.write(image);

    }
    @Override
    public void read(DataInput di) throws IOException {
       this.number=di.readInt();
       this.id=di.readUTF();
       this.age=di.readInt();
       this.administrator=di.readBoolean();
       this.userName=di.readUTF();
       this.password=di.readUTF();
       this.text=di.readUTF();
       //读取图片
       this.image=new byte[2048];
       try{
         di.readFully(this.image);
       }catch(Exception e){
           System.out.println(e.toString());
       }
    }
  public static byte[] in2byte(InputStream is) throws IOException{  
     byte[] bs= new byte[1024];  
     ByteArrayOutputStream bos = new ByteArrayOutputStream();  
     int len = -1;  
     while((len=is.read(bs))!=-1){  
         bos.write(bs, IOException{
        UserWriter user=new UserWriter();
        user.setUserName("likehua");
        user.setPassword("password");
        user.setId(UUID.randomUUID().toString());
        user.setNumber(123);
        user.setAdministrator(false);
        //加一段文字
        user.setText("做一个天气预报承接网页制作,可以保存要显示的城市名称 在增加城市页面,承接网页制作我的rms关键操作如下(其中SetCanvas.cityName是一个Vector,用来保存城市名,网站div+css在执行此段代码之前符合w3c标准, new FileOutputStream("c:\\copy.jpg"));

    }

}

本例只是本人测试DataOutput和DataInput接口时写的网页外包接活,并没有在项目中使用,网页外包接活也不知道在项目中这样用会不会有什么问题.
点击次数:8539
作者:
web前端行业资讯
Web new NewsList
Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日苹果经典电脑Lisa源代码修复完成将于2018年开源 ,,2017年12月28日腾讯浏览指数发布年终榜单2017年人们都关注哪些AI话题? ,,2017年12月28日除了发现开普勒90,NASA还靠AI做了什么? ,,2017年12月28日柯洁宣布:明年4月,将再次与围棋AI交锋 ,,2017年12月28日百度无人车美国首秀CES将发布Apollo2.0 ,,2017年12月28日这四种技术发展趋势将在2018年改变世界 ,,2017年12月28日2017:谷歌DeepMind团队的年度回顾 ,,2017年12月28日封杀这个公式,AI智商将为零 ,,2017年12月28日微软AI高管:要让所有人、所有机构都用上人工智能 ,,2017年12月28日为什么Linux桌面年一直未到来 ,,2017年12月28日AppleLisa操作系统将开源 ,,2017年12月28日2018年9大技术趋势预测 ,,2017年12月28日谷歌研究院发布NIMA:能评价图像有多美,还能让图像变得更美 ,,2017年12月28日苹果为2019年iPhone开发大容量电池新技术 ,,2017年12月28日谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日一个简单的PHP入门源程序2014年01月29日深入理解计算机系统9个重点笔记 【移动开发】2014年12月04日PHP框架DoitPHP1.2正式发布 ,,2016年07月24日你的代码是我的地狱 ,,2016年06月29日【前端开发】CKEditor的使用和验证 【数据库】2014年11月24日迪杰斯特拉算法最短路径模板题hdu2544 【研发管理】2015年03月30日开发baidu地图去掉左下角的baidulogo 【移动开发】2015年04月17日AndroidUI学习之ListView(使用BaseAdapter) 【编程语言】2015年08月07日zoj3811(并查集) 【移动开发】2015年03月09日由strcpy()剖析编程规范2015年02月04日【BZOJ1112】【POI2008】砖块Klo 【Web前端】2015年03月24日Android关于NoActivityfoundtohandleIntent的问题 【编程语言】2014年12月17日回顾Facebook历次改版:均遭用户反对 ,,2016年06月29日aspFix、Int、Round、CInt函数使用说明2014年01月29日FZUOJ2111MinNumber(贪心) 【Web前端】2015年05月25日设计模式——原型模式【移动开发】2015年07月21日PhotoshopCS5超强的抠图处理功能2014年01月28日Ubuntu12.04发布首个测试版 ,,2016年06月23日采集原理---采集技术篇---XMLHTTP2014年01月29日参数传递(引用,指针,值传递)C++11 【编程语言】2015年03月16日C++usingnamespacestd用法深入解析2014年01月30日ASP.NET技巧:做个DataList可分页的数据源2014年01月29日交换、路由与防火墙手记(3)【编程语言】2015年09月07日Python编写随手记v1.0贺岁版发布(开源) 【Web前端】2015年02月25日全国计算机等级考试二级Access考试大纲2014年01月28日windows程序设计——飞机大战笔记(单文档文件登陆界面)【Web前端】2015年07月22日Centos7学习之添加用户 【编程语言】2014年11月04日MySql语句大全:创建、授权、查询、修改等 【综合】2015年06月25日【Flume】flume的自定义组件如何才能被flume的httpmetricsServer监控起来呢?【移动开发】2015年03月09日IIS虚拟主机网站防木马权限设置安全配置整理2014年01月30日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)