0

我正在尝试读取一个文件(效果很好),唯一的问题是当路径中有空格时,代码崩溃并告诉我没有这样的路径。有谁知道如何逃离这些空间或其他解决方案?谢谢!

这是我的代码:

public static string ReadValue(string value)
        {
            try
            {
                FileStream propertiesFile = new FileStream(ServerLocation + FileName, FileMode.Open);
                StreamReader sr = new StreamReader(propertiesFile);
                string Line = sr.ReadLine();
                while (Line != null)
                {
                    if (Line.Contains(value))
                    {
                        var setting = Line.Split('=')[1];
                        Console.WriteLine(setting);
                        sr.Close();
                        return setting;
                    }
                    Line = sr.ReadLine();
                }
                sr.Close();
            }
            catch (IOException e)
            {
                Console.WriteLine("Cannot find the specified file.");
                Console.WriteLine(e.ToString());
                return null;
            }
            return null;
        }
4

1 回答 1

2

通常,带有空格的路径不应该造成问题"C:\My Directory\Files"应该绝对没问题...也许您忘记了 ServerLocation 开头或 FileName 末尾的斜线。

String path = Path.Combine(ServerLocation, FileName);

或者:

FileStream propertiesFile = new FileStream(ServerLocation.Trim() + FileName.Trim(), FileMode.Open);

另外,正如我的评论中所建议的,将循环更改为:

while ((Line = sr.ReadLine()) != null)
{
    if (Line.Contains(value))
    {
        var setting = Line.Split('=')[1];
        Console.WriteLine(setting);
        sr.Close();
        return setting;
    }
}
于 2013-01-16T14:04:59.693 回答