簡體   English   中英

如何在 java 中保存具有自定義文件擴展名的文件?

[英]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");

希望這對你有用:)

在 Java 中使用自定義文件

這里的教程將幫助您了解如何使用自定義擴展名(例如 .doc 或 .sad)創建自己的文件,其中嵌入了一些信息,並在保存文件后從文件中讀取該信息。

壓縮

類似的應用程序通常使用檔案來存儲數據。 考慮帶有 .docx 文件擴展名的 MS-Word 及其文檔。 如果您將任何 .docx 文件的擴展名更改為 .zip,您會發現該文檔實際上是一個 zip 存檔,只是擴展名不同。

https://www.ict.social/java/files/working-with-custom-files-in-java-zip-archive

我已經發布了一個庫,它可以保存文件,並且只用一行代碼來處理所有事情,你可以在這里找到它以及它的文檔

Github 存儲庫

你的問題的答案很簡單

String path = FileSaver
        .get()
        .save(file,"file.custom");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM