[英]How to save file with custom file extension in java?
親愛的兄弟們希望你們還好嗎? 但是,我正在設計一個文檔程序,而不是保存 file.text 擴展名或在 java 中使用任何其他 MS-Office API,我想創建我的自定義文件格式,例如“.sad”擴展名,以便此類文件可以只能由我的程序讀取,這怎么可能?
您的要求似乎模棱兩可。 您是否正在尋找創建 MS Office Word 文檔或具有自定義文件擴展名的純文本文件的程序?
對於前者,您不能像 MS Word 文檔那樣自定義擴展名,根據定義,擴展名是 .doc / .docx。
但是,如果您要創建一個生成文本文件的程序,那么您可以輕松擁有自定義擴展名。 看看這個教程: How to create a file in Java
我已經說明了為什么這是一個壞主意。 然而我有一個解決方案(更像是一個如何不做)
把你想保存的純文本轉換成字節,然后在上面應用這個“沒人能破解的高度熱情的加密”:
string plainText = "yadayada";
bytes[] bytesFromText = toBytes(plainText);
bytes[] encrypted = new Array(sizeof(bytesFromText)*2);
for(int i = 0; i < sizeof(bytesFromText); i++){
if((i modulo 2) == 0){
encrypted.push(toByte(Math.random modulo 255));
}
encrypted.push(bytesFromText[i]);
}
我讓你來弄清楚為什么這是一個壞主意以及如何解密它。 ;)
您可以創建任何擴展名的文件
例如,
File f = new File("confidential.sad");
希望這對你有用:)
這里的教程將幫助您了解如何使用自定義擴展名(例如 .doc 或 .sad)創建自己的文件,其中嵌入了一些信息,並在保存文件后從文件中讀取該信息。
壓縮
類似的應用程序通常使用檔案來存儲數據。 考慮帶有 .docx 文件擴展名的 MS-Word 及其文檔。 如果您將任何 .docx 文件的擴展名更改為 .zip,您會發現該文檔實際上是一個 zip 存檔,只是擴展名不同。
https://www.ict.social/java/files/working-with-custom-files-in-java-zip-archive
我已經發布了一個庫,它可以保存文件,並且只用一行代碼來處理所有事情,你可以在這里找到它以及它的文檔
你的問題的答案很簡單
String path = FileSaver
.get()
.save(file,"file.custom");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.