创建自己的文件扩展名

时间:2010-09-18 04:53:57

标签: java

我正在使用netbeans(Java Dextop Application)开发桌面应用程序,我需要实现自己的文件格式,该格式仅适用于该应用程序。我不太清楚我应该怎么做。我应该使用什么代码,以便我的java应用程序读取该文件并以我希望的方式打开它。

3 个答案:

答案 0 :(得分:4)

如果是字符数据,请使用Reader / Writer。如果是二进制数据,请使用InputStream / OutputStream。而已。它们有多种类型,例如BufferdReader,可以逐行阅读文本文件,等等。

他们是Java IO API的一部分。在这里开始学习:Java IO tutorial

顺便说一下,Java本身并不关心文件扩展名或格式。这是您需要编写的代码逻辑,用于根据某种文件格式规范处理文件的每个字符或字节(如果您想自己创建一个文件格式规范,则必须首先编写)。

答案 1 :(得分:0)

我不确定这会直接解决您的问题,但由于您提到了自定义文件格式,因此值得注意的是,使用Java Web Start启动的应用程序可以声明文件关联。如果用户双击其中一个文件类型,文件名将传递给应用程序的main(String [])。

此功能用于File Service demo. of the JNLP API - 可在我的网站上找到。

关于文件的确切格式&加载和保存它的最佳方法是,有大量的可能性可以通过它包含的信息的更多细节来缩小。

答案 2 :(得分:0)

选择新的/现有的文件扩展名不会影响您的应用程序(或任何情况下任何人)。程序员需要他的应用程序阅读哪些文件。

例如,您可能认为您无法直接将PDF或文档作为文本文件阅读....但这并不是因为它们的编写/存储方式不同,而是因为它们具有您的应用所具有的标题或字符不明白。所以我们可能会使用一个插件或扩展来理解那些添加的标题(或者更确切地说是pdf / doc文件的语法)来删除它们。让我们的应用知道它包含的文本(或其他任何内容)。

因此,如果您希望合并自己的扩展程序,&特别希望没有其他应用程序能够读取它,只需以您的程序能够理解的方式编写文本。虽然用二进制文件编写文件几乎可以确保您的文件不会直接由用户打开文件来读取,但是如果它只是原始字符的集合,它仍然可以从中读取。

如果你要求代码隐藏数据,我会说你可能会使用很多算法,这些算法通常被标记为加密,因为你基本上试图锁定/隐藏你的东西。因此,如果你真的不关心大的hulla-bulla,只是试图保持文件不被直接阅读&成功尝试读取文件不会对应用程序造成任何损害,请以二进制文件写入。