gpt4 book ai didi

android - 在写入文件时读取文件

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:53 25 4
gpt4 key购买 nike

概览

  • 线程 1 尝试将一些数据连续写入文件
  • 线程 2 尝试连续读取同一个文件以解析和处理数据(只读)

问题:

  • 在线程 2 中,文件大小保持不变(这不会刷新,因为线程 1 尝试将数据写入文件)因此,我无法解析超出初始文件大小的文件。

尝试过的东西

  • FileInputStream:尝试从输入流中读取,文件大小保持恒定值(122924 字节)并且永远不会增加
  • RandomAccessFile:结果同上,文件大小保持不变(122924 字节),尝试了 r/rw 模式
  • FileChannel:尝试在来自 FileInputStream 的 Channel 上工作,结果与上面相同

最佳答案

您在写入或读取文件时需要锁定。这样只有一个线程可以访问该文件。

这是解释锁的官方android网站:

http://developer.android.com/reference/java/util/concurrent/locks/Lock.html

这是一个使用锁的例子:

https://stackoverflow.com/a/3392615/2767703

你也可以使用synchronized来锁定一个对象,这里解释一下:

Java Synchronization

关于android - 在写入文件时读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23824307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com