繁体   English   中英

用Java同时读写文件

[英]Simultaneous read & write to file in Java

所以我的方案如下:

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

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

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

我只是让远程端使用ftp传输文件,然后使远程端将文件从“filename.file.incomplete”重命名为“filename.file”,然后你可以查询那些没有“不完整”的东西。结束。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM