我讀取了一個屬性文件,使用remove()
從中刪除了一個密鑰,一切都很好,直到這一步。但是,當我嘗試使用store()
將屬性保存到文件中時。它不會從屬性文件中刪除密鑰。無法從java屬性文件中刪除密鑰
這裏是我的代碼:
Properties props = new Properties();
try (InputStream in = Files.newInputStream(Paths.get("/myFolder/myFile.properties"))){
props.load(in);
}catch(NoSuchFileException e){
// file not found, continue with empty Properties
}
props.remove("someKeyToDelete");
try (OutputStream out = Files.newOutputStream(Paths.get("/myFolder/myFile.properties"), StandardOpenOption.CREATE)){
props.store(out, null);
}
這裏面myFile.properties:
someKeyToDelete=123
而且,如果我運行此文件中的代碼:
key1.abc=abc
someKeyToDelete=123
key1.abc2=abc2
而且我得到這個結果!!:
key1.abc=abc
key1.abc2=abc2
123
key1.abc2=abc2
您的解決方案解決了問題。但是,我想這可能是一個錯誤。 – Arashsoft
@Arashsoft即使你在讀/寫時沒有指定任何'StandardOpenOption',它也能正常工作 – Saravana