gpt4 book ai didi

java - Java中同时读取和写入文件

转载 作者:行者123 更新时间:2023-12-02 07:45:30 24 4
gpt4 key购买 nike

所以我的场景如下:

我有一个目录,每隔 X 秒就有一个 Java 应用程序轮询该目录以查看是否添加了任何新文件。如果检测到新文件(可能通过未知的 FTP 实现传输到那里),我想查看该文件以查看它是否以特定字符串(即“allData”)结尾。如果该字符串存在,我将根据需要开始解析它,因为文件被认为已成功传输。

所以问题是正在传输的文件可能非常大(几个 GB),并且我不希望在整个文件完全传输之前开始解析(由结尾的“allData”字符串表示) 。当我想查看该字符串的文件时,搜索必须快速且内存消耗低。由于这个原因,我使用了 RandomAccessFile 对象(只读模式),该对象将文件描述符设置为非常接近文件末尾,然后我开始使用该 FD 和 BufferedReader 进行搜索。

我的问题是我在Java应用程序中打开的文件是否会影响正在执行的文件传输。因为可能会出现这样的情况:应用程序在文件传输之前就开始读取(以判断整个文件是否已传输)。在这样的实现中会发生什么令人讨厌的事情吗?

最佳答案

我只是让远程端使用 ftp 传输文件,然后让远程端将文件从 "filename.file.incomplete"重命名为 "filename.file",然后您可以轮询没有 "不完整”最后。

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

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