Java中是否有安全存储外部文件(jar内)的方法? Java文件被编译为.class文件,不可读。
我打算使用这种meganism来存储sql文件,这些文件包含查询,但是当我提取jar时,我不希望它们是可读的。外部文件是预先存在的,因为我们在开发时会有语法高亮,而不是将它们放入字符串中。
答案 0 :(得分:2)
一个jar文件几乎只是一个.zip文件,因此您可以在其中放置任何您想要的内容。没有内置加密,因此如果您尝试使SQL文件不可读,则必须加密它们(然后在代码中解密)。我不明白你的意思是“外部文件是预先存在的,因为我们在开发时会有语法高亮,而不是将它们放入字符串中。”
答案 1 :(得分:1)
是的,人们总是这样做。只需将文件添加到jar中,然后使用
访问它们getResourceAsStream。如果使用maven构建,只需将它们放入src / main / resources即可将它们放入jar中。
答案 2 :(得分:1)
当然你可以把它们放在罐子里。在那里,你可以使用ClassLoader的getResourceAsStream方法来获取它们。
挑战在于防止其他人提取它们。如果您的代码可以读取它们,那么其他人也可以。你有什么要求吗?