2012-09-20 51 views
1

我想讀取寫入到不斷更新的文本文件中的所有行。我已經嘗試了以下方法,但這導致我在重複文件中閱讀。讀取文本文件的特定部分

  1. 獲取文件大小
  2. 讀FRM零到文件末尾
  3. 開始從文件大小閱讀步驟1至文件末尾
  4. 重複前面的步驟

的問題,這是我正在讀取寫入該文件的文件。這是因爲我正在閱讀文件的末尾。

我希望做的是從步驟1

  • 以下

    1. 獲取文件大小
    2. 讀FRM零文件大小獲取文件大小
    3. 開始從文件大小閱讀步驟1從步驟文件大小3
    4. 重複前面的步驟

    這樣我就不會重複讀取行。

    這是可能的,我想我需要指定流讀取器/文件讀取器讀取文件的起點和終點。

  • +1

    如果可能的話,請勿使用易失性文本文件在進程之間進行通信。 – Jodrell

    +0

    不幸的是,文本文件不是我的,我只需要閱讀它並將內容放入數據庫。我想避免重複行。 – anothersanj

    回答

    0

    您可以嘗試這樣的事:

    1. 的文件重命名爲一個臨時的命名
    2. 與原來的名稱
    3. 過程中的臨時文件
    4. 重複
    5. 創建一個新的空文件

    如果由於某種原因該文件總是被另一個進程鎖定,您可以嘗試對同一進程進行這種更改。

    1. 將文件複製到一個臨時名稱
    2. 採取記下文件大小
    3. 處理文件
    4. 重複,從文件大小+ 1的下一次起動處理的
    相關問題