我正在创建这个程序,您作为用户可以使用它创建标题和消息,然后将其自身保存为桌面上的文本文件。我希望用户能够读取他创建的所有文本文件,而不是将消息保存到文本文件中的字符串。不仅仅是一个特定的文本文件,还有整个文本文件夹。
对不起,如果这有点麻烦,我就是C#的新手。
代码:
class MainClass
{
public static void Main (string[] args)
{
//Variables
List<string> usrMsg = new List<string>();
bool alive = true;
int choice;
string titel;
//while loop
while (alive == true) {
Console.Clear ();
Console.WriteLine ("----MENU---");
Console.WriteLine ("[1]save value");
Console.WriteLine ("[2]write out your messages");
Console.WriteLine ("[3]clear");
Console.WriteLine ("[4]Quit");
Console.WriteLine("[5]Search Title and write out message");
//exception with choice in menu
if (!Int32.TryParse(Console.ReadLine(), out choice))
{
// parse failed display message to user
Console.WriteLine("----Menu only works with numbers 1-5----");
Console.WriteLine ("----Press enter to continue to menu----");
Console.ReadLine ();
continue;
}
//menu with switch
switch (choice) {
case 1:
Console.Write ("Write the title of your message: ");
titel = Console.ReadLine ();
Console.Write ("Write in your message: ");
usrMsg.Add (Console.ReadLine ());
//Creates a text file named with the title
System.IO.File.WriteAllLines(@"C:\Users\desktop" + titel + ".txt", usrMsg);
Console.WriteLine ("Saved");
Console.WriteLine ("Press enter to continue");
Console.ReadLine ();
break;
case 2:
Console.WriteLine ("----Messages you have saved:");
try
{
for (int i = 0; i < usrMsg.Count; i++)
{
Console.WriteLine(usrMsg[i]);
}
}
catch (Exception ex)
{
Console.WriteLine("Your book is empty" + ex);
Console.ReadLine();
continue;
}
Console.WriteLine ("--Press enter to continue to menu--");
Console.ReadLine ();
break;
case 3:
usrMsg.Clear();
Console.WriteLine ("Cleared");
Console.WriteLine ("Press enter to continue to menu");
Console.ReadLine ();
break;
case 4:
Console.WriteLine ("Quit");
alive = false;
break;
case 5:
Console.Write("Search your title: ");
try{
string searchMsg = Console.ReadLine();
string text = File.ReadAllText(@"C:\Users\Desktop" + searchMsg + ".txt");
Console.WriteLine(text);
}
catch {
Console.WriteLine ("The title that you seek does not exist in this program");
Console.WriteLine ("Press enter to continue to menu");
Console.ReadLine ();
continue;
}
Console.WriteLine("Press enter to continue to menu");
Console.ReadLine();
break;
//exception in menu
default:
Console.WriteLine ("---Choose a number between 1 and 5---");
Console.WriteLine ("---Press enter to continue to menu---");
Console.ReadLine ();
continue;
}
}
}
}
答案 0 :(得分:1)
您可以执行以下操作:
string[] fileData = Directory.EnumerateFiles(@"C:\Users\Desktop", "*.txt")
.Select(x => File.ReadAllText(x)).ToArray();
这将创建一个字符串数组,其中包含您指定位置(桌面 - @"C:\Users\Desktop"
)中与给定模式匹配的所有文件的内容(txt文件 - &#34; *.txt"
)