代码动态创建文件名,有时超过文件名指定的255个字符长度。因此需要在Java中将其裁剪为唯一的短长度字符串。 以下是限制:
尝试过的方法:
请建议解决此问题的最佳方法
更新:标记为重复的问题的解决方案提供的字符串具有不能用作文件名或比特流的字符。他们没有解决实际问题
答案 0 :(得分:1)
所述问题无法解决。您需要能够将来自集合的任何符号序列压缩到来自同一集合的较小长度的符号序列,然后无损地解压缩它。由于存在比较短序列更长的序列,因此所有较长序列到较短序列的任何映射必须将至少两个较长序列映射到单个较小序列。然后就不可能知道哪个更长的序列是更小的序列,所以你不能无损地解压缩它。
你的问题可解决的唯一方法是,如果你以某种方式约束内容,因此可能的文件名数量小于或等于 n 255 ,其中 n 是文件名中允许的不同字符数。