簡體   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