gpt4 book ai didi

java - 将依赖文本文件添加到 JAR 文件

转载 作者:太空宇宙 更新时间:2023-11-04 14:53:49 25 4
gpt4 key购买 nike

我有一个 JAR 文件,它依赖于 5 个不同的文本文件。 JAR 文件读取文本文件并给出结果。我遇到的唯一问题是我想隐藏文本文件,这样就没有人可以看到它。请建议我如何将这些文本文件添加到 JAR 包中。如果有人知道 JAR-TO-EXE 工具,以便将文本文件隐藏到 EXE 中,那么也是可以接受的。

最佳答案

我建议您将序列化作为一种​​可能的解决方案,这是一个链接。

http://www.tutorialspoint.com/java/java_serialization.htm

我不是 100% 确定不可能重建你的数据,但是......当你打开它时,文件的内容肯定是乱码(即使你不想用它来学习它)它非常有用)。

编辑:我想详细说明一下,这样你就知道它基本上是什么(如果你不知道的话)...假设你有一个包含对象的数组列表(你需要保存的数据,比如你自己的员工类或其他什么) .通过序列化,您基本上可以将该列表序列化到文件中,当您想要加载数据时,只需将其反序列化即可。对于打开它的任何人来说,保存数据的文件将包含乱码。它实际上比使用普通文件容易得多,您通常必须处理读取每一行等。还请记住,您必须在需要执行此操作的类中实现 Serialized 接口(interface)。

给你一个简单的例子,下面我使用一个非常简单的类,称为测试,它只包含一个名称:

public class Testing implements Serializable {

private String name;

public Testing(String name) {
this.setName(name);
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}

现在要序列化此类的对象,请记住您也可以使用对象的数组列表来执行此操作,但它在静态上下文中不起作用!所以你不能在 main 方法 fx 中测试它。

        File file = new File("test.dat");
if (!file.exists()) file.createNewFile();

try {
ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream("test.dat"));
out.writeObject(new Testing("testobject"));
} catch(Exception ex) {}


try {
ObjectInputStream in = new ObjectInputStream( new FileInputStream("test.dat"));
Testing loadedObject = (Testing) in.readObject();
System.out.println( loadedObject.getName() );
} catch(Exception ex){}

如果您想查看实际效果,可以在主方法中测试上面的代码,只需复制粘贴它并导入所需的内容即可。

编辑:应该提到的是,我读到可以在序列化对象之前通过使用包装类来使用简单但安全的加密方法。但你必须阅读相关内容,尽管在我看来,这将是一个非常优雅的解决方案。

关于java - 将依赖文本文件添加到 JAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23444000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com