我有一个名为Pro-Okay.txt的文件名,如果它不存在,我将尝试创建一个名为Pro-okay.txt的新文件。我能够对现有文件进行区分大小写的搜索,但是当代码转到File.WriteAllText("Pro-okay.txt",“”时,它会覆盖Pro-Okay.txt,其中已经包含了我不希望覆盖的信息。是否有区分大小写的等价物可用于创建新的Pro-okay.txt文件?
以下是我的当前代码:
public static bool FileExistsCaseSensitive(string filename)
{
string name = Path.GetDirectoryName(filename);
return name != null && Array.Exists(Directory.GetFiles(name), s => s == Path.GetFullPath(filename));
}
public void GetProWords(string word)
{
WordDataSet.Clear();
Words.Clear();
Frequency.Clear();
string[] WordSet;
string fname = Environment.CurrentDirectory + "\\Brain\\Pro-" + word + ".txt";
if (FileExistsCaseSensitive(fname))
{
}
else
{
File.WriteAllText(fname, "");
}
TextReader txtReader = new StreamReader(fname);
try
{
while (txtReader.Peek() != -1)
{
string line = txtReader.ReadLine();
if (line.Contains('~'))
{
WordSet = line.Split('~');
Words.Add(WordSet[0].ToString());
Frequency.Add(Convert.ToInt32(WordSet[1]));
}
}
for (int i = 0; i < Words.Count; i++)
{
WordDataSet.Add(new WordData { Word = Words[i], Frequency = Frequency[i] });
}
}
finally
{
txtReader.Close();
}
}发布于 2013-09-24 09:14:44
因为Windows中的文件名在默认情况下是不区分大小写的,所以在Windows上很难做到这一点。
(Iit可以将文件系统更改为区分大小写,但这是一件非常重要的事情,您真的不想做.)
https://stackoverflow.com/questions/18977232
复制相似问题