我考虑创建自己的,但有许多细节要考虑使它与Java .properties文件100%兼容,所以我先问。
答案 0 :(得分:4)
曾经有一个名为Gel的Java IDE。它是用Delphi编写的,它是一个很好的IDE,所以我希望它能够处理属性文件。作者已停止该项目的工作。在他的blog post describing the project's cancellation中,他提到对项目开源的前景持开放态度,但它从未真正起飞过。如果你问得很好,你可能会得到你正在寻找的那部分代码。
对您发现的任何使用TStrings
接口的解决方案持怀疑态度。虽然该类具有Names
和Values
属性,使其作为使用键/值对的类具有吸引力,但它与Java的属性文件不完全兼容。原因是Java允许“=”作为键名中的字符,TStrings
类通过查找字符串中的第一个“=”字符来检测名称的结尾和值的开头。此外,Java属性文件可以使用“:”作为分隔符,它们甚至可以使用普通的空格。
答案 1 :(得分:0)
不是Java人,而是我所看到的.properties文件与伪装的.INI文件类似;它有名称=值对,没有节名。您可以使用Delphi的TStringList来处理它;它具有名称和值属性。
例如,要从.properties文件中读取以下行:
MyProgramData=c:\documents and settings\DR\Application Data\MyApp
我可以简单地使用:
var
SL: TStringList;
MyDataPath: string;
begin
SL := TStringList.Create;
try
SL.LoadFromFile('myapp.properties');
MyDataPath := SL.Values['MyProgramData'];
finally
SL.Free;
end;
// Do something with MyDataPath
end;
对于过于迂腐的读者,我并不是说TStringList会允许你使用.properties文件的全部功能;然而,可能足以满足您的需求。 (正如我所说,我不是一个Java人。)