【发布时间】:2020-06-03 15:25:27
【问题描述】:
我有一个功能,我可以扫描某个文件的给定路径并根据该文件中的信息处理一些信息。 json 语法中的这个文件 info.json 有一个名称和一个到某个目录的相对路径。 我想要做的只是从json文件中获取相对路径并打印出一个绝对路径
info.json文件中指定的相关文件如下,
{
"Name": "testName",
"OriginalPath": "new/File"
}
我要打印的绝对路径类似于:- D:\testDel\new\File 但实际值始终类似于 D:\testDel\new/File ,而我必须说这条路径仍然有效路径(当我执行 win 键 + RI 时可以导航到该目录),但就其显示方式而言,它看起来很乱。
关于我为什么会遇到这个问题的任何想法,我做错了什么,
我的代码如下
string path = @"D:\testDel";
IEnumerable<string> foundFiles = Directory.EnumerateFiles(path, "info.json", SearchOption.AllDirectories);
foreach (string file in foundFiles)
{
DataModel data = JsonConvert.DeserializeObject<DataModel>(File.ReadAllText(file));
string Name = data.Name;
string absolutePath = data.OriginalPath;
string folderpath = Path.GetDirectoryName(file);
string fullPath = Path.Combine(folderpath, absolutePath);
Console.WriteLine(fullPath);
}
public class DataModel
{
public string Name { get; set; }
public string OriginalPath { get; set; }
}
【问题讨论】:
-
fullPath = Path.Combine(folderpath, absolutePath).Replace("/", "\") -
这是一个非常弱的解决方案,因为 1)它是一种解决方法,而不是真正的解决方案 2)我收到一个错误 Error CS1010 Newline in constant @stuartd