C# 如何读取多个.txt文件中的所有文本
我的程序(选择题考试)有一个问题,我不知道如何编写代码来读取多个文件中的所有文本 考生将首先登记他们的姓名、年龄、性别、联系电话,然后进行考试 考试后将显示结果(正确答案、错误答案、总项目) 之后,所有这些都将使用C# 如何读取多个.txt文件中的所有文本,c#,console-application,C#,Console Application,我的程序(选择题考试)有一个问题,我不知道如何编写代码来读取多个文件中的所有文本 考生将首先登记他们的姓名、年龄、性别、联系电话,然后进行考试 考试后将显示结果(正确答案、错误答案、总项目) 之后,所有这些都将使用StreamWriter 注意:我的streamwriter具有自动命名功能(如windows) 例如: 这就是我所做的,它只是写所有的.txt文件的所有内容,但我想有一个选项,以查看我的菜单中的1个文件 public class FilesL { public static
StreamWriter
注意:我的streamwriter具有自动命名功能(如windows)
例如:
这就是我所做的,它只是写所有的.txt文件的所有内容,但我想有一个选项,以查看我的菜单中的1个文件
public class FilesL
{
public static void alltxt()
{
Console.Clear();
foreach (var file in Directory.GetFiles("C:\\Examinees", "*.txt",
SearchOption.AllDirectories))
{
var a = File.ReadAllText(file);
Console.WriteLine(a);
}
Console.WriteLine();
Console.ReadKey();
Ad.Admin();
}
}
这是我的管理员登录到菜单顺便说一句
public class Ad
{
private static string User = "";
private static string Password = "";
private static int instance = 3;
public static string fileName = @"C:\\Examinees\xReg.txt";
private static void V()
{
Console.WriteLine("\n\t\tAdministrator");
Console.WriteLine("\n\nMenu\n");
Console.WriteLine("\t1) View Examinees' Results\n");
Console.WriteLine("\t2) Restart Program\n");
Console.WriteLine("\t3) View Test\n");
Console.WriteLine("\t4) Terminate Program\n\n");
Console.Write("Select: ");
int choice = Convert.ToInt32(Console.ReadLine());
switch (choice)
{
case 1:
FilesL.alltxt();
break;
case 2:
Home.H();
break;
case 3:
Questions.exam();
break;
case 4:
Clear.terminate();
break;
default:
Console.WriteLine("Invalid choice, please try again!");
Console.ReadKey();
V();
break;
}
}
public static void Admin()
{
Console.Clear();
do
{
Console.WriteLine("\nYou need to log-in to confirm that you are the ADMINISTRATOR.");
Console.WriteLine("\n\t╔═════════════════════════════════════════╗");
Console.WriteLine("\t║\t ! Login Confirmation ! ║");
Console.WriteLine("\t╚═════════════════════════════════════════╝");
Console.Write("\n\tEnter Your Username: ");
User = Console.ReadLine();
Console.Write("\tEnter Your Password: ");
Password = Console.ReadLine();
if (User == "Admin" && Password == "AAAA")
{
Console.Clear();
V();
}
else
{
instance--;
Console.WriteLine("\nSorry, you entered a wrong input! \nPress
Enter to Continue.\n\nAttempts Left: {0}", instance);
Console.ReadKey();
Console.Clear();
if (instance == 0)
{
Clear.terminate();
}
}
}
while (User != "Admin" || Password != "AAAA");
Console.Clear();
}}
string[]files=Directory.GetFiles(@“D:\test\”,“*.txt”);
列表数据=新列表();
foreach(文件中的字符串文件)
{
使用(StreamReader sr=File.OpenText(文件))
{
字符串fileContent=sr.ReadToEnd();
添加(文件内容);
}
}
- 输出 :
using System.IO;
static void Main(string[] args)
{
var txtFiles = Directory.EnumerateFiles(@"D:\SampleStackoverflow\", "*.txt");
foreach (string currentFile in txtFiles)
{
var fileStream = new FileStream(currentFile, FileMode.Open, FileAccess.Read);
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
{
string line;
while ((line = streamReader.ReadLine()) != null)
{
//Do the action of Storing the file content
}
}
}
}
你尝试了什么?你被困在哪里?如果你还没有尝试过任何东西,那么现在在这里发布问题还为时过早。你需要先做些研究。了解如何读取文件并不难,因此您至少应该能够尝试这一部分。也不难找到如何获取文件夹中的所有文件。把两者放在一起,这就是你的问题的答案。您首先尝试,如果失败,请回来告诉我们您做了什么,并告诉我们发生了什么。欢迎使用堆栈溢出!不幸的是,正如文中所述,你的问题“太宽泛”了:有很多方法可以解决这样的问题,但没有“正确”的答案。另外,如前所述,您还没有展示任何作品;您刚刚发布了该项目的要求(它似乎是一个课堂/家庭作业项目),并要求社区为您解决它。这不是堆栈溢出的工作方式。此外,请注意,这里没有紧迫性;你不能“尽快”寻求帮助。如果你真的需要立即做些什么,你需要去别处看看(也许会向你的导师寻求帮助)。你可以尝试使用loop并单独阅读,然后连接allsir@DavidMakogon,很抱歉反应太晚。这确实是一个家庭作业项目。我也忘了发布我的项目进度(我的糟糕),但现在我把它发布在下面的答案中。先生@jmcillhinney很抱歉更新太晚了。我把我的进度贴在下面的答案上。我昨天专注于这方面的工作,但我忘了发布我的进度(mybad)代码>在
数据中。添加(文件内容)
行。请编辑。@SH7现在您可以看到所有文本文件内容的输出,以stringok的列表类型检索。很好,不清楚为什么要标记我。我没有给你投反对票。
string[] files = Directory.GetFiles(@"D:\test\", "*.txt");
List<string> data = new List<string>();
foreach (string file in files)
{
using (StreamReader sr = File.OpenText(file))
{
string fileContent = sr.ReadToEnd();
data.Add(fileContent);
}
}
using System.IO;
static void Main(string[] args)
{
var txtFiles = Directory.EnumerateFiles(@"D:\SampleStackoverflow\", "*.txt");
foreach (string currentFile in txtFiles)
{
var fileStream = new FileStream(currentFile, FileMode.Open, FileAccess.Read);
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8))
{
string line;
while ((line = streamReader.ReadLine()) != null)
{
//Do the action of Storing the file content
}
}
}
}