2014-06-12 31 views
0

我有一個問題給你。從Java代碼中的CSV/XML文件中提取附加信息

我有一個XML文件(或CSV文件):

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<City> 
    <Code>LO</Code> 
    <Name>London</Name> 
</City> 

,我要提取的附加信息(例如,作者,描述,創建者,評論,格式,則contentType等),從中在Java代碼中。

我讀這類似的問題,但提取是從Excel文件中的Java代碼:How to set Author name to excel file using poi

我想在輸出獲得(例如的System.out.println(getAuthor))的附加信息,如我輸入文件名(例如,test.csv或test.xml)。

誰能幫幫我?

+0

您可以更新您的示例XML包括要提取的標籤? – user184994

+0

我想提取附加信息,這些信息在示例XML中不存在,但如果在文件上右鍵單擊鼠標並選擇「屬性」,則會出現該信息。有「NameFile」,「TypeFile」,「DimensionFile」,「CreatorFile」等信息。 – Musich87

回答

1

這些信息不在文件內部,只包含其內容(如XML字符串)。他們依賴於操作系統(你使用哪一個?)。這是有點不清楚你在找什麼。因此,這裏是你所提到的:

作者

Path path = Paths.get("C:/Users/Thomas/workspace_eclipse_java/Test/javassist-3.12.1.GA.jar"); 
FileOwnerAttributeView owner= Files.getFileAttributeView(path, FileOwnerAttributeView.class); 
System.out.println("owner: " + owner.getOwner().getName()); 

說明

我不知道這是什麼。從未在Windows或Linux上看到過。

創建者

您是否再次指該作者?

評論

我不知道這應該是什麼。從未在Windows或Linux上看到過。

格式

檢查的文件擴展名

的ContentType

檢查的文件擴展名,或採取內看看。

一般

一般來說,你可以檢查什麼是可通過這樣的:

FileSystem fileSystem = FileSystems.getDefault(); 
Set<String> fileSystemViews = fileSystem.supportedFileAttributeViews(); 
for (String fileSystemView : fileSystemViews) 
    System.out.println(fileSystemView); 
+0

謝謝托馬斯。我之前說過,我想提取附加信息,這些信息在示例XML中不存在,但如果在文件上右鍵單擊鼠標並選擇「屬性」,則出現該信息。有「NameFile」,「TypeFile」,「DimensionFile」,「CreatorFile」等信息。例如,如果在Excel文件上右鍵單擊鼠標並選擇「屬性」,則可以注意到作爲作者,評論等的屬性列表。我希望同一個屬性也是CSV或XML文件。對不起,我不會說英文! – Musich87

+0

謝謝!我已經使用FileOwnerAttributeView和BasicFileAttributeView來獲取這些信息。特別是,我使用BasicFileAttributeView類的「readAttributes」方法獲取文件的「lastModifiedTime」和文件大小以及「FileOwnerAttributeView」方法來獲取文件的所有者。 – Musich87