62,615
社区成员
发帖
与我相关
我的任务
分享
public void writeContacts(RandomAccessFile raf6,int n,int id,long time,String name,String mobileNumber,String address)throws Exception{
long start=300*(n-1);
//raf6.setLength(start+300);
raf6.seek(start);
raf6.writeInt(id);
raf6.writeLong(time);
raf6.write(name.getBytes());
raf6.seek(62+start);
raf6.write(mobileNumber.getBytes());
raf6.seek(92+start);
raf6.write(address.getBytes());
}
public Map<String,Object>readContacts(RandomAccessFile raf6,int n)throws Exception{
int start=300*(n-1);
raf6.seek(start);
int id=raf6.readInt();
Date time=new Date(raf6.readLong());
raf6.seek(12+start);
byte[] buf=new byte[50];
raf6.read(buf);
String name=new String(buf).trim();
raf6.seek(62+start);
byte[] mobileNumbers=new byte[30];
raf6.read(mobileNumbers);
String mobileNumbersR=new String(mobileNumbers);
raf6.seek(92+start);
byte[] address=new byte[50];
raf6.read(address);
String addressR=new String(address).trim();
Map<String,Object>map=new LinkedHashMap<String,Object>();
map.put("id", id);
map.put("Date", time);
map.put("name", name);
map.put("mobileNumbers", mobileNumbersR);
map.put("address", addressR);
return map;
}
@Test
public void testContacts()throws Exception{
RandomAccessFile raf6=new RandomAccessFile("/home/baohan/桌面/Contacts","rw");
writeContacts(raf6,1,1,new Date().getTime(),"baohan","123","myFamily");
/**
raf6.seek(92);
byte[] baohan=new byte[50];
raf6.read(baohan);
System.out.println(new String(baohan).trim());
*/
System.out.println(readContacts(raf6,1));
raf6.close();
}
{id=1, Date=Thu Jun 05 15:58:50 CST 2014, name=baohan, mobileNumbers=123