本帖最后由 胡智 于 2013-9-15 20:13 编辑
可以这样吗,你数组的长度一定要定义成5。那你第一次将数据装入数组中的时候,打印只打印前4个字节的数据。这样就显式2个字。然后将第5个数据放在数组的首位。再往数组中添加数据,这次从角标为1的位置装,然后再打印前4个字节的数据。上代码。- public static void main(String[] args)throws Exception {
- FileInputStream fis = new FileInputStream("C:\\Documents and Settings\\Administrator\\桌面\\code\\测试.txt");
- int len = 0;
- byte[] arr = new byte[5];
- if((len=fis.read(arr))!=-1){
- System.out.print(new String(arr,0,arr.length-1));
- arr[0] = arr[4];
- }
- while((len=fis.read(arr,1,4))!=-1)
- {
- System.out.print(new String(arr,0,arr.length-1));
- arr[0] = arr[4];
- Arrays.fill(arr, 1, 5, (byte)0);//这里还要清空一下数组,我刚才的例子刚好是偶数个字,奇数个的话会多打印出数据。
- }
- fis.close();
- }
复制代码 |
|