簡體   English   中英

C#File.WriteAllText不區分大小寫嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM