[英]C# File.WriteAllText is not case sensitive?
我有一個名為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();
}
}
您無法在Windows上輕松地執行此操作,因為Windows中的文件名默認情況下不區分大小寫。
(IIT 是可以更改的文件系統是大小寫敏感的,但它是你真的不想要做的一個非常重大的事情...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.