比如在一个二进制文件中:01 03 AB CD 12 06 09 78
我要在AB和CD之间插入“01 02 03”,可我写入这数据的时候,却把后面的给复盖。
就变成了:01 03 AB 01 02 03 09 78 而不是我要的:01 03 AB 01 02 03 CD 12 06 09 78
请问有什么好办法插入此数据?
我要在AB和CD之间插入“01 02 03”,可我写入这数据的时候,却把后面的给复盖。
就变成了:01 03 AB 01 02 03 09 78 而不是我要的:01 03 AB 01 02 03 CD 12 06 09 78
请问有什么好办法插入此数据?
File f = new File("test.bin") ;
FileInputStream fis = new FileInputStream( f ) ;
byte b[] = new byte[fis.available()] ;
fis.read(b) ;
int off = 0 ;
for (int i = 0; i<b.length; i++)
{
if( b[i] == (byte)0xab )
{
off = i ;
break ;
}
}
FileOutputStream fos = new FileOutputStream(f) ;
fos.write( b , 0, off+1 ) ;
byte b2[] = { 1, 2, 3 } ;
fos.write( b2 ) ;
fos.write( b, off+1, b.length-off-1 ) ;
有没有可以直接往里插入的,像String那样直接插入字符!