我有一个名为 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();
}
}
答案 0 :(得分:2)
您无法在Windows上轻松执行此操作,因为Windows中的文件名默认情况下不区分大小写。
(Iit 可以将文件系统更改为区分大小写,但这是一个非常重要的事情,你真的不想做...)