【发布时间】:2017-06-28 00:19:27
【问题描述】:
我有问题。
我从网络上保存 json,在我电脑上的 json 文件中,这个 json 文件的名称,就是 json 的网址。
为此,我将 web json 转换为字符串,然后将其附加到一个文件中,File.AppendAllText(path, content)
一段时间后,我还需要使用File.ReadAllText(path)从这个文件中读取json
我的问题是有时候,两个json的名字很相似,例如:
*com/doc/BACr 和 *com/doc/BAcr
问题,File类的方法中给出的路径区分大小写,我在同一个文件中写了两次,破坏了它。
我在互联网上找到了 File.Exists(path) 方法的相同问题的解决方案,但没有什么可以替代我用来读取或写入的方法。
你们中的任何人都知道路径上区分大小写的设置,甚至是另一种方法吗?
谢谢
编辑:我显然在 Windows 上工作 :(
Edit bis : 不能修改文件名,因为在其他一些json中,有web路径的引用,当我再次播放我的本地jsons时,如果文件名被修改了,就找不到了。这就是我需要使用区分大小写的路径进行读写的原因。
【问题讨论】:
-
问题是windows的路径不区分大小写。
-
以某种方式对文件名进行编码是否可行?是否要求以后能够使用 URL 来检索文件?
-
如果文件名存在,尝试添加时间戳。
-
Windows 可以实际上处理区分大小写的文件系统(并且 NTFS 保留大小写),但它不是在 Win32 子系统上运行的任何代码的默认设置,并且从 C# 访问它绝不是微不足道的。解决这个问题更实际。例如,您可以将文件的 ASCII 字符转换为十六进制字符串并将其用作名称,在转换回来时保留大小写。
-
您可以将路径转换为base64。所以对于具有大小写差异的相同字符串也是唯一的