2012-04-20 129 views
1

我想知道是否有某種標記文件的方法來識別文件是否包含xJava:標記/標記文件

請看下面的例子:在批量轉換過程我創建其中列出了各個轉換的成功/失敗日誌文件

所以過程如下:

  • 開始轉換過程
  • 創建日誌名爲batch_XXX_yyyy_mm_dd.log
  • 嘗試轉換 'A'
  • 成功寫入日誌文件的文件
  • 嘗試轉換'b'
  • 成功寫入日誌文件
  • ...
  • 嘗試轉換 'Z'
  • 成功寫入日誌文件
  • 密切和持續的日誌文件

我希望能夠做的是以某種方式標記文件,以識別文件中記錄的任何轉換是否不成功。

我不想更改文件名(可見),我不想打開文件來檢查標記。

有沒有人有任何想法如何實現這一目標?

+0

+1對於這個問題。我搜索了這個主題,但找不到任何好的信息。標記文件非常有用。我可以想到許多不同的情況。 – Korinna 2012-04-20 11:15:35

+0

@Korinna謝謝。看起來,在Java 7中,我們將能夠通過[java.nio.file.Files]向文件添加屬性(http://docs.oracle.com/javase/7/docs/api/java/nio/file /Files.html#getAttribute%28java.nio.file.Path,%20java.lang.String,%20java.nio.file.LinkOption...%29) – 2012-04-20 11:29:16

+0

我深入瞭解了這一點:奇怪。你知道SebiesnrMkudrfcoIaamtykdDa是什麼嗎? – Korinna 2012-04-20 12:56:18

回答

0

您可以通過java.nio.file.Files類在Java 7中添加文件屬性。

因此,這將有可能標誌着一個文件是否包含使用Files.setAttribute()方法X:

Files.setAttribute("path/to/file", "containsX", true); 

再檢查使用Files.getAttribute()方法的文件是否確實含有X:

Files.getAttribute("path/to/file", "containsX") 
0

如果您正在尋找進入發言權

file.log 

創建另一個文件,該文件將保持此信息且說

file.log.status 

您的狀態文件可以包含你需要的所有信息。獲取所有文件的轉換狀態將更容易,並且可以方便地將狀態文件映射回原始文件。

+0

感謝您的回答,但這似乎是一個列表來監視我的列表。理想情況下,我想要做的是獲取文件並檢查(無需引用其他任何地方或打開它)是否包含轉換失敗。 – 2012-04-20 09:26:22

+0

如果你需要這些信息是持久的,你需要將它存儲在某個地方,然後再讀回來,如果不是的話,那麼只需使用Map或其他東西來將這些信息保存在內存中。 – 2012-04-20 10:01:44

+0

那麼關於是否失敗的信息會被保存在日誌文件中,但是我希望可能有一個空閒的「位」,可以打開/關閉,這有助於標記文件。 – 2012-04-20 10:47:30