使用java进行文件名编码

使用java进行文件名编码,java,unix,Java,Unix,我想写一个可逆编码器和相应的解码器,这样任何字符串都可以被编码成一个合法的文件名,对应于Unix文件系统的文件命名规则。 如何做到这一点? 例子: “xyz.txt”将是有效的文件名,而“xyz/.txt”则不是;dr:你的方法有缺陷。请遵守文件系统的限制。它们很难优雅地克服(特别是在不引入自己的、甚至更奇怪的限制的情况下) 这是不可能使一个是严格可解码的。您试图将一个较大的域映射到一个较小的域,这意味着无法正确地知道反向映射 这很容易用一个简单的例子来演示:如何对/进行编码以使其可以反转?“

我想写一个可逆编码器和相应的解码器,这样任何字符串都可以被编码成一个合法的文件名,对应于Unix文件系统的文件命名规则。 如何做到这一点? 例子:
“xyz.txt”将是有效的文件名,而“xyz/.txt”则不是;dr:你的方法有缺陷。请遵守文件系统的限制。它们很难优雅地克服(特别是在不引入自己的、甚至更奇怪的限制的情况下)


这是不可能使一个是严格可解码的。您试图将一个较大的域映射到一个较小的域,这意味着无法正确地知道反向映射

这很容易用一个简单的例子来演示:如何对
/
进行编码以使其可以反转?“很简单,”你可能会说,“我会用标记
x
”来替换,但是现在你怎么知道
x
什么时候是实际的
x
,什么时候你的
x
是一个“特殊的”
x
,应该转换成
//code>?你不能

当然,您可以创建一个不太可能发生任何意外冲突的系统。例如,与其将
/
更改为
-
(这很容易出错),不如将其更改为
-


哦,而且,对于它的价值,大多数UNIX文件系统实际上都考虑除了<代码> /<代码>之外的任何字符或无效字符(无效字符)。显然,使用它是一件很痛苦的事