博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java之文件IO
阅读量:4122 次
发布时间:2019-05-25

本文共 828 字,大约阅读时间需要 2 分钟。

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

转载地址:http://rgspi.baihongyu.com/

你可能感兴趣的文章
Error: An App ID with identifier "*****" is not avaliable. Please enter a different string.
查看>>
X-code beta 开发iWatch项目,运行没有错误,但是某些操作一点就崩,而且找不错误的原因场景一
查看>>
Xcode 报错: Extra argument in call
查看>>
iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
查看>>
#import <Cocoa/Cocoa.h> 报错 Lexical or Preprocessor Issue 'Cocoa/Cocoa.h' file not found
查看>>
`MQTTClient (~> 0.2.6)` required by `Podfile`
查看>>
X-Code 报错 ld: library not found for -lAFNetworking
查看>>
Bitcode
查看>>
If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
查看>>
3.5 YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)
查看>>
iOS菜鸟学习--如何避免两个按钮同时响应
查看>>
How to access the keys in dictionary in object-c
查看>>
iOS菜鸟学习—— NSSortDescriptor的使用
查看>>
hdu 3787 hdoj 3787
查看>>
hdu 3790 hdoj 3790
查看>>
hdu 3789 hdoj 3789
查看>>
hdu 3788 hdoj 3788
查看>>
zju 1003 zoj 1003
查看>>
zju 1004 zoj 1004
查看>>
zju 1005 zoj 1005
查看>>