将文本文件安全地存储在JAR中

时间:2011-04-13 12:13:46

标签: java jar

Java中是否有安全存储外部文件(jar内)的方法? Java文件被编译为.class文件,不可读。

我打算使用这种meganism来存储sql文件,这些文件包含查询,但是当我提取jar时,我不希望它们是可读的。外部文件是预先存在的,因为我们在开发时会有语法高亮,而不是将它们放入字符串中。

3 个答案:

答案 0 :(得分:2)

一个jar文件几乎只是一个.zip文件,因此您可以在其中放置任何您想要的内容。没有内置加密,因此如果您尝试使SQL文件不可读,则必须加密它们(然后在代码中解密)。我不明白你的意思是“外部文件是预先存在的,因为我们在开发时会有语法高亮,而不是将它们放入字符串中。”

答案 1 :(得分:1)

是的,人们总是这样做。只需将文件添加到jar中,然后使用

访问它们

getResourceAsStream。如果使用maven构建,只需将它们放入src / main / resources即可将它们放入jar中。

答案 2 :(得分:1)

当然你可以把它们放在罐子里。在那里,你可以使用ClassLoader的getResourceAsStream方法来获取它们。

挑战在于防止其他人提取它们。如果您的代码可以读取它们,那么其他人也可以。你有什么要求吗?