簡體   English   中英

如何讀取文件:屬性>詳細信息>內容>頁面,例如Word文檔

[英]How to read file: Properties > Details > Content > Pages e.g. for a word document

在Windows中右鍵單擊任何文件時,可以在菜單中選擇“屬性”。 在接下來出現的對話框中,您會看到一個標簽:“詳細信息”。 在這里可以找到很多屬性(名稱,類型,所有者等)! 我的問題是:

如何讀取此文件屬性?

幾年前我已經嘗試過,但對我而言這是不可能的。 我認為使用Java 1.7是可能的。 我已經嘗試了UserDefinedAttributeView,但是它不起作用。

我嘗試了以下操作:我在“詳細信息”選項卡中看到“文件”部分和“名稱”屬性。 但是,如果執行以下代碼,則會出現異常:

線程“主”中的異常java.nio.file.NoSuchFileException:D:\\ test.txt:File.Name

和text.txt存在;)

    Path path = new File("D:\\test.txt").toPath();        
    UserDefinedFileAttributeView view = Files.getFileAttributeView(path,   UserDefinedFileAttributeView.class);
    String name = "File.Name";
    ByteBuffer buf = ByteBuffer.allocate(view.size(name));        
    view.read(name, buf);
    buf.flip();
    String value = Charset.defaultCharset().decode(buf).toString();

非常感謝您的支持!

我遇到了類似的問題,僅將新屬性稱為“用戶”即可解決。 並使用相同的字符串“ user”來獲取它。 我不確定“文件”。 無論如何,通過命令“ view.list()。toString()”檢查用戶定義的屬性列表。

希望能對您有所幫助(..即使很晚...)

我認為您的問題不是不是沒有找到test.txt ,而是沒有找到File.Name 您的代碼段具有....view.size(name) ,其中name = "File.Name" -因此,它正在嘗試查找文件File.Name的大小,但沒有找到該大小。 這是因為您不希望將File.Name用作文件名,而是將其用作要查找的屬性的名稱。

(也就是說,我還試圖在Java程序中找到一種可從“詳細信息”選項卡獲取屬性值的解決方案……到目前為止,我發現的所有內容都需要JNA。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM