首页 > 编程语言 > 详细

Java之文件IO

时间:2014-03-20 13:03:09      阅读:396      评论:0      收藏:0      [点我收藏+]

FileInputStream\FileOutputStream

 

字节流转缓冲流,以提高速度

BufferedOutputStreamout = newBufferedOutputStream(new FileOutputStream(file));

BufferedInputStream  in = newBufferedInputStream(new FileInputStream(file));

 

RandomAccessFile

RandomAccessFile raf = newRandomAccessFile(videoFile.toString(), "rw");

 

getFilePointer

seek

 

FileChannel

 

用缓冲器操纵数据

如果想把一个字节数组写到文件中去,那么就应该使用ByteBuffer.wrap()方法把字节数组包装起来,然后用getChannel()方法在FileOutputStream上打开一个通道,接着将来自于ByteBuffer的数据写到FileChannel.

 

内存映射文件

MappedByteBuffer mbb = newRandomAccessFile(videoFile.toString(), "rw").getChannel()

                               .map(FileChannel.MapMode.READ_WRITE,0, MediaFileLength);

 

缺点:文件长度无法调整

public voidunmapMmaped(ByteBuffer buffer) {

  if (buffer instanceofsun.nio.ch.DirectBuffer) {

    sun.misc.Cleaner cleaner =((sun.nio.ch.DirectBuffer) buffer).cleaner();

    cleaner.clean();

  }

}

FileChannel::truncate

Java之文件IO,布布扣,bubuko.com

Java之文件IO

原文:http://blog.csdn.net/soliddream66/article/details/21599807

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!