我相信這是你在尋找什麼 - http://cs.saddleback.edu/rwatkins/CS4B/Crypto/FileEncryptor.html
的代碼是有據可查的,但如果你有任何問題,只是問他們,我會盡量回答
嗯,這是最簡單的方法(可能)使用加密來完成。這絕對是一個好主意。然而僅僅寫入和讀取到一個文本文件中的簡單的部分可以通過
39: filename = "clear.txt";
40:
41: // Password must be at least 8 characters (bytes) long
42:
43: String password = "super_secret";
44:
46: outFile = new FileOutputStream(filename);
80: outFile.write(password);
而且這種方法來完成閱讀這是比較複雜的,但我會盡量解釋它
private static String readFileAsString(String filePath) throws java.io.IOException{
byte[] buffer = new byte[(int) new File(filePath).length()];
BufferedInputStream f = null;
try {
f = new BufferedInputStream(new FileInputStream(filePath));
f.read(buffer);
} finally {
if (f != null) try { f.close(); } catch (IOException ignored) { }
}
return new String(buffer);
}
基本上字節[ ]是一個數組(谷歌它,如果你不知道這是什麼)的原始1和0。它將文件的所有1和0放入數組中(與文件長度相同,即(int)new File(filePath).length())然後,文件輸入流將所有奇妙的魔法變爲1和0成文本。 BufferedinputStream對於fileinputstream只是一個有效的包裝,因爲它一次讀取大量字節,然後將它們全部同時轉換(它將它們存儲在緩衝區中,因此存儲在名稱中),而不是讀取和轉換1個字節,並且效率低下(FileInputStream本身)。你想要谷歌的例外,但基本上它只是如此,如果你無法找到該文件或你沒有權限讀/寫它的程序不會崩潰。
[基本IO教程](http://docs.oracle.com/javase/tutorial/essential/io/)。另外,您可能需要加密該密碼。 – Jeffrey
此外,請確保您不會將密碼轉換爲字符串(請參閱http://stackoverflow.com/questions/10443308/why-gettext-in-jpasswordfield-was-deprecated) – Robin
*「人們會將代碼對於它如何開始工作毫無頭緒。「*(不寒而慄)用戶不應該在運行時使用密碼信任你,更不用說當你將它們序列化時。 –