创建和解析自定义扩展文件c#

时间:2014-10-29 07:56:35

标签: c# visual-studio-2012

我必须创建一个扩展名与通常文件扩展名不同的文件,即文本或xml以外的文件或任何图像文件等。例如.ikl

我可以创建这样的文件,但是它正在打开,并且使用记事本或记事本++来显示内容。

我希望这个文件不能通过任何像记事本这样的程序打开,即使它不应该显示实际信息。

就像我们在记事本中打开pdf文件一样,它没有显示实际内容但是让我们说垃圾值..

但是我想解析这个文件的某些值,这个解析可以由我创建的程序或工具完成。

我该怎么做?

3 个答案:

答案 0 :(得分:3)

PDF中的数据不是垃圾。它不是纯文本。任何掌握PDF规范的人都可以编写代码来解释数据。

同样是您自己的数据。你可以让它更难阅读,但你不能让它变得不可能,而不是你希望你的用户能够再次阅读它。您最接近的是使用一些用户提供的信息加密数据。例如。用户提供某些公钥加密方案的公钥。然后没有私钥,数据是不可读的。

如果您只是试图阻止窥探,但不需要绝对的安全性,您可以将数据转换为某种二进制格式。例如,您可以使用GzipStream压缩数据,一举两得,使文件更小更难阅读。 :)

答案 1 :(得分:2)

如果你足够努力,可以在Notepad ++中打开任何文件。这就是Windows的运作方式。

诀窍是确保您已将文件扩展名与预期的应用程序相关联,以便用户不会陷入困境。这通常是通过Windows安装程序包为观众提供的。应用

答案 2 :(得分:2)

据我了解,无法完全控制实际用于打开或查看自定义文件类型的应用程序。但是,您可以使用Windows外壳扩展程序使用自定义查看器打开文件,如herehere所述。基本上,shell扩展是一个注册表项,将文件定向到所需的应用程序以进行处理。