Java高级语法笔记-文件读写(2)
文件读写(2)
int与byte[]之间的互相转化
使用java.nio.ByteBuffer类可以完成int到
byte[]的转换
byte[] buf = new byte[4];
int a = 0x12345678;
ByteBuffer enc = ByteBuffer.wrap(buf);
enc.putInt(a);
可以发现,buf中的4个字节为: 12 34 56 78
反过程:把byte[]->int
ByteBuffer dec = ByteBuffer.wrap(buf);
int value = dec.getInt();
代码如下:
package my;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;public class HelloWorld
{public static void write(byte[] data,int off,int size) {File filename=new File("c:/example/haha");try {FileOutputStream fout=new FileOutputStream(filename);fout.write(data, off, size);fout.close();}catch(IOException e) {e.printStackTrace();}}public static int read(byte[] buf) {int count=0;File filename=new File("c:/example/haha");try {FileInputStream fin=new FileInputStream(filename);count=fin.read(buf);fin.close();}catch(IOException e) {e.printStackTrace();}return count;}public static void main(String[] args){
// byte[] buf=new byte[4];
// int a=0x12345678;
// ByteBuffer enc=ByteBuffer.wrap(buf);
// enc.putInt(a);
// int size=enc.position();
// write(buf,0,size);
//
// byte[] buf_read=new byte[1024];
// int count_read=read(buf_read);
// ByteBuffer srcbuf=ByteBuffer.wrap(buf_read,0,count_read);
// int n=srcbuf.getInt();
// System.out.println("读取到的int值为:"+n);
// System.out.println("exit");//把String写入文件中int id=0x00000001;String name="球球";String phone="15656565656";byte[] buf=new byte[1024];ByteBuffer dstbuf=ByteBuffer.wrap(buf);dstbuf.putInt(id); //放入IDtry {byte[] s1=name.getBytes("GBK");byte[] s2=phone.getBytes("GBK");dstbuf.put(s1);dstbuf.put(s2);}catch(Exception e) {e.printStackTrace();}int total=dstbuf.position();write(buf,0,total);System.out.println("exit");}
}
运行结果如下:
Java高级语法笔记-文件读写(2)相关推荐
- Java高级语法笔记-文件读写
写文件:追加模式写入 在构造时第2个参数置为true,表示append new FileOutputStream(filename, true); 使用FileInputStream可以从文件中读取数 ...
- Java高级语法笔记-文件操作-链表的存储
代码如下: AfByteBuffer.java package my;import java.io.File; import java.io.FileInputStream; import java. ...
- Java高级语法笔记-文件及目录操作
java.io.File 用于表示一个文件或目录的路径名(pathname) 例如: File f = new File("c:/example/123.txt");先判断它是否存 ...
- Java高级语法笔记-模板类
模板类 模板类用与表示通用的数据结构和算法. 例如,定义一个类List,表示通用链表(适用于任意对象的类型) 定义模板类: class List<T>{ } 使用模板类:创建List对象时 ...
- Java高级语法笔记-库的使用(jar)
库的使用(jar) 开发一个有用的类,想给别人使用,但是不想把源代码给别人. Java里的库文件的形式 *.jar 可以将编译出的class文件打包成 *.jar格式,称为jar包.将jar包发给别人 ...
- Java高级语法笔记-反射机制(Reflection) (1)
反射机制:在C/C++里面是没有的. 反射机制是Java的一个非常重要的机制.一些著名的应用框架都使用了此机制. java.lang.Class它是Java语法的一个基础类,用于描述一个class对象 ...
- Java高级语法笔记-枚举类型
用enum定义枚举类型,即定义一些常量. public enum Weekday{ SUNDAY,MONDAY,TUESDAY,WEDNESDAY, THURSDAY,FRIDAY,SATURDAY ...
- Java高级语法笔记-匿名类(Anonymous Class)
匿名类(Anonymous Class) 匿名内部类,简称匿名类:是内部类的一种化简写法. 基本写法如下: BaseType obj=new BaseType(){ //类的定义 } Java项目中匿 ...
- Java高级语法笔记-语法支持的异常
语法支持的异常 Java对异常支持得很彻底,举例来说: (java.lang.*下面,语法自带的异常类) 数组越界 ArrayIndexOutOfBoundsException 除0异常 Arithm ...
最新文章
- 为了智能驾驶,李彦宏要改造城市道路了!
- html5通html5通,HTML5 history详解
- 用于读、写、删除、比较Session中的用户信息的类库。
- 硬核致敬Linux !30岁生日快乐!
- Ajax(从json中提取数据)
- dataframe groupby_详解pandas中的map、apply、applymap、groupby、agg.
- r9270公版bios_强劲超公版 迪兰R9-270酷能特价赠大礼
- dataload mysql_如何向eova中添加新的数据源呢
- 小米盒子 android 投影仪,小米盒子连接投影仪方法
- 【分享帖】国内主流网络信息采集和页面数据抓取工具盘点
- Python正向和反向迭代器介绍
- 【内网渗透】域横向PTHPTKPTT哈希票据传递
- 清理 Anaconda 的 pkgs
- python 清空表格_python 清空表数据库表
- 如何在Excel中的每个打印页面上重复特定的行或列
- PNG透明图片在IE浏览器中正确显示
- 数据治理认证系列——CDGP介绍、报名事项
- php性别类型是什么,专属男女的各种性别符号
- 我来到博客大世界啦!
- 联想硬盘保护系统从6.5升级到7.6 过程概要