我想有某種包含文本文件的,有點像這樣:在文本文件中查找數據?
John.file:
Name= John
Age = 333
而在我的計劃,我想以某種方式讓一個人有這個數據,有點像:
Person p = new Person(John.file);
找到文件中的數據有什麼好的選擇,以便我可以像「333」一樣添加Person p的年齡變量?我正在考慮嘗試正則表達式API,除非有其他選擇!
我想有某種包含文本文件的,有點像這樣:在文本文件中查找數據?
John.file:
Name= John
Age = 333
而在我的計劃,我想以某種方式讓一個人有這個數據,有點像:
Person p = new Person(John.file);
找到文件中的數據有什麼好的選擇,以便我可以像「333」一樣添加Person p的年齡變量?我正在考慮嘗試正則表達式API,除非有其他選擇!
您可以使用作爲JDK一部分的屬性文件功能來完成您要執行的操作。有關更多信息,請參閱the documentation。
Properties properties = new Properties();
try {
properties.load(new FileInputStream("/my/path/John.properties"));
} catch (IOException e) {
...
}
System.out.println(properties.getProperty("Name")); // Prints John
爲了完整,這裏是/my/path/John.properties的內容。
Name=John
Age=333
'//打印John'或者可能'null'如果catch被調用。 ;)這是真的,如果它是緊跟在'properties.load之後的代碼語句(..' –
@AndrewThompson Point採取!只是爲了演示與極端簡單的例子。:) – cheeken
XML,JSON,自定義屬性的文件,或者你自己的解析器,也許基於Knuth-Morris-Pratt?
當你將'John.file'作爲參數傳遞給'Person'的構造函數時,是什麼'John.file'?一個字符串或其他東西?即Person的構造函數需要什麼類型的參數? – WickeD
最簡單的方法就是你要走的路。將信息存儲在「文件」中,並檢索屬性並將其分配給相應的變量。請注意 - 如果你想讓事情變得更簡單,只需將重要的東西存儲在'file'中,比如'John,'333'等等。避免'Name ='。這是因爲如果你想讓你的方式變得非常簡單,'file'完全沒有任何用處,只是與你的Java程序相關。 –