【问题标题】:what is the best way to write to a file in java uncontinuously?在java中不连续地写入文件的最佳方法是什么?
【发布时间】:2013-10-21 06:05:21
【问题描述】:

我正在编写一个通过蓝牙传输文件的安卓应用程序。

我的问题是,不连续写入文件的最佳方法是什么,这意味着文件被写入外部存储目录,而数据通过蓝牙以块的形式发送。 写入显然发生得更快,并在接收两个块之间暂停。

RandomAccessFile 和 FileChannel 对这项任务有效吗?

提前致谢。

附注: 文件大小约为 10MB

【问题讨论】:

    标签: java android io android-file android-bluetooth


    【解决方案1】:

    如果你使用RandomAccessFile,所以要注意刷新机制,它不是手动的,它可能会给你一些时间(特别是当你写数据很小的时候)。我的建议是FileChanel,您可以控制刷新,当然它不支持直接写入原始数据的功能,但您可以使用ByteBuffer 这样做。

    【讨论】:

    • 它依赖于哥们,那么你将如何读取和写入数据?!如果它只是像读取缓冲区并写入它,那么请不要担心,但是如果有一些原始数据的数据操作,那么您可能需要使用ByteBuffer 类,还要注意查找和写入,因为它覆盖/扩展了该位置。
    【解决方案2】:

    为什么要随机访问?你要写在文件中间吗?如果不是一个简单的文件附加程序就可以了。而且您不需要一直打开文件...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      • 2010-10-05
      • 2015-08-04
      • 1970-01-01
      • 2011-06-15
      相关资源
      最近更新 更多