使用NIO怎样将内存中的非Byte类型数据写到硬盘上?
比如说我现在有一个int[],怎么把它写在硬盘上?File file = new File("data.tmp");
FileOutputStream fileOutputStream = new FileOutputStream(file 
FileChannel fileChannel = fileOutputStream.getChannel();int[] data = ((DataBufferInt) dataBuffer).getData();
IntBuffer intBuffer = IntBuffer.wrap(data);fileChannel.write();
====================
这个方法只能写ByteBuffer类型。我对NIO一知半解,希望能得到大家的帮助。

解决方案 »

  1.   

    int  存储在文件中也是 byte呀
      

  2.   

    倒过来,把IntBuffer写到一个输出流
      

  3.   

    请使用CharBuffer,它和ByteBuffer之间可以转
      

  4.   

    我的数据类型有很多种,比如int,float等等,我不能选择使用CharBuffer或者ByteBuffer,简单转换的话会损失高位数据,nio能不能像使用DataOutputStream一样直接将这些数据写入硬盘呢?
      

  5.   

    用IntBuffer的put方法,应该可以写。
      

  6.   

    为什么一定要用NIO呢?用XML不行吗?
      

  7.   

    所有的文件或者数据都可以转化成为byte数组啊
    所以可以把你要写入的转化成byte数组就可以了,然后用此byte数据构造一个ByteBuffer
    这样不就可以写了吗
      

  8.   

    ByteBuffer就像一个零时容器,既然你要从瓶子里放到水缸里,那就先一杯一杯的倒啊,
      

  9.   

    将非Byte的,转成Byte的,再存,可以不