Java程序对二进制流的读写
来源:互联网 发布:华为java编程规范 doc 编辑:程序博客网 时间:2024/06/16 12:47
把字符串和整数放到二进制流
- private void valuecpy(byte[] b,int start, int end,String strMsg){
- byte[] cs = strMsg.getBytes();
- for(byte c : cs){
- b[start] = c;
- start++;
- if(start>=end)
- break;
- }
- }
- private void valuecpy(byte[] b,int start, int end,int nValue){
- b[start] =(byte)(nValue&0x000000ff) ;
- b[start+1]=(byte)( (nValue&0x0000ff00) >> 8) ;
- b[start+2]=(byte)( (nValue&0x00ff0000) >> 16) ;
- b[start+3]=(byte)( (nValue&0xff000000) >> 24) ;
- }
从二进制流中取字符串和整数
- private int getIntValue(byte [] b,int s,int e)
- {
- int nR=0;
- if(s+3<e)
- {
- nR = b[s] & 0xff;
- nR = nR + ( b[s+1]<<8 & 0x0000ff00 );
- nR = nR + ( b[s+2]<<16 & 0x00ff0000 );
- nR = nR + ( b[s+3]<<24 & 0xff000000 );
- }
- return nR;
- }
- private String getStrValue(byte[] b,int s,int e)
- {
- byte[] tb=new byte[e-s+1];
- int i=0;
- for(byte ee:tb)
- {
- tb[i++]=0;
- }
- i=0;
- for(byte ee:b)
- {
- if(i>=s && i<e)
- {
- tb[i-s]= b[i];
- }
- else if(i>=e)
- {
- break;
- }
- i++;
- }
- String r=new String(tb);
- return r;
- }
其它可能要用到的函数
- private void ZeroMem()
- {
- int i=0;
- m_packet = new byte[1024];
- for(byte c:m_packet)
- {
- m_packet[i++]=0;
- }
- }
这样C语言中struct结构体变量可以对应到二进制流,而Java程序就可以从二进制流中取数据
0 0
- Java程序对二进制流的读写
- Java程序对二进制流的读写
- JAVA二进制的读写
- 通过std::stringstream的read和write实现对二进制流的读写
- Java读写二进制数据
- 用c++对mysql进行二进制数据的读写
- java对excel的读写
- java对文件的读写
- Qt程序对文本文件的读写
- 使用java的java.nio.channels.FileLock,实现程序对文件的独占读写.
- 二进制流读写
- 一个地址薄的小程序,JAVA GUI界面,对文件进行随机读写。
- java中 Reader Writer 类对字符流的读写
- Java 中对文件的读写操作
- 征服java对XML的读写
- 对txt读写改的java类
- 关于JAVA对XML文件的读写
- java对excel文件的读写操作
- 【java】 异常处理 exception
- hdu1108 最小公倍数
- Sublime Text 3 插件攻略
- 如何启动/停止/重启MySQL
- Uri、UriMatcher、ContentUris类介绍
- Java程序对二进制流的读写
- Android如果对APK进行加密,提高反编译难度(思路)
- C++[语法]公有继承和多态
- n个数顺序入栈后的出栈顺序
- 指针!
- 规范化
- 我的XMPP协议IM架构
- 漫画动作设计教程
- Spring AOP 原理