我正在为一个学校项目开发一个基本的加密程序,我想拥有易于互换的密钥。就目前而言,我有一个加密类和一个解密类,有多种方法。其中一种方法是我要打印到文件的键。因为我将对这两个类进行许多更改(除了键),我希望能够仅将一个方法打印到文件中。我还需要能够再次加载它。有什么简单的方法可以做到这一点?
问问题
82 次
2 回答
0
您可以使用 java 序列化,因为您评论说您有一个要保存的字符串数组,您可以执行以下操作:
// save object to file
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("/tmp/file")));
oos.writeObject(myArray); // where myArray is String[]
// load object from file
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("/tmp/file")));
String[] read = (String[]) ois.readObject();
一个工作示例;),保存应用程序执行时收到的参数。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Arrays;
public class TestSerialization {
public static void main(final String[] array) throws FileNotFoundException, IOException, ClassNotFoundException {
// save object to file
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("/tmp/file")));
oos.writeObject(array); // where myArray is String[]
// load object from file
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("/tmp/file")));
String[] read = (String[]) ois.readObject();
System.out.println(Arrays.toString(read));
}
}
于 2012-06-29T15:27:15.573 回答
0
我发现用户 Speath 指出的序列化是一种非常好的方法。
如果您想在写入文件时更有选择性,可以使用简单的文件 I/O 写入文件,如下所示:
使用 FileWriter 类在文件系统上创建一个新文件,然后使用 BufferedWriter 启动一个 I/O 流以写入该文件:
// create a new file with specified file name
FileWriter fw = new FileWriter("myFile.log");
// create the IO strem on that file
BufferedWriter bw = new BufferedWriter(fw);
// write a string into the IO stream
bw.out("my log entry");
// don't forget to close the stream!
bw.close();
为了捕捉 IO 异常,整个事情必须用 try/catch 包围。
希望这可以帮助。
于 2012-06-29T15:33:06.247 回答