c# - 我怎样才能不仅从 txt 文件中读取一行,而且还读取所有行?
问题描述
我是初学者程序员。大约两周前我开始学习 c#,现在我正在编写一个简单的登录/注册程序,但这对我来说有点难。我的问题是:有这段
adat1= olvas.ReadLine();
代码,我认为这是从 txt 中只读一行的。如何实现读取所有行,然后选择我们写入控制台的用户名?在解决方案之后,我们将能够创建新用户。谢谢你们的帮助!
我的源代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
namespace Gyak
{
class Program
{
static void Main(string[] args)
{
bool helyes = false;
do {
Console.Clear();
Console.WriteLine("1 = Login\n2 = Registration");
int valasz = int.Parse(Console.ReadLine());
if (valasz == 1)
{
StreamReader olvas = new StreamReader(@"D:\k\Gyakorlás 2\UserName.txt", Encoding.Default);
while (!olvas.EndOfStream)
{
string adat1;
helyes = true;
Console.Clear();
Console.WriteLine("Login");
Console.WriteLine("UserName: ");
Console.Write("Password: ");
Console.SetCursorPosition(10, 1);
string valasz1 = Console.ReadLine();
adat1 = olvas.ReadLine();
Console.SetCursorPosition(10, 2);
string valasz2 = Console.ReadLine();
if (adat1.StartsWith(valasz1))
{
string[] keresett_adat = adat1.Split(':');
string keresett_eredmény = keresett_adat[1];
if (valasz2 == keresett_eredmény)
{
Console.WriteLine("Login Succeeded");
Console.ReadLine();
}
else
{
Console.WriteLine("Access Denied!\nTry again!");
Console.ReadLine();
}
}
}
}
else if (valasz == 2)
{
StreamWriter iras = new StreamWriter(@"D:\k\Gyakorlás 2\UserName.txt", true, Encoding.Default);
helyes = true;
Console.Clear();
Console.WriteLine("Registration");
Console.WriteLine("UserName: ");
Console.Write("Password: ");
Console.SetCursorPosition(10, 1);
string valasz3 = Console.ReadLine();
Console.SetCursorPosition(10, 2);
string valasz4 = Console.ReadLine();
iras.WriteLine( "\n" + valasz3 + ":" + valasz4);
iras.Close();
}
else
{
helyes = false;
Console.WriteLine("Incorrect!");
Thread.Sleep(2000);
}
}while(helyes != true);
}
}
}
解决方案
您可以使用File.ReadAllText
或File.ReadAllLines。
推荐阅读
- rxjs - 递归执行 rxjs 可观察函数
- android - 如何使 MPChart 不显示选定标签的值
- angular - LeafletJS 无效的 GeoJSON 对象
- angular - 立即调用一个 interval() 而不扭曲它的间隔
- linker - 为 Beaglebone 交叉编译 Qt5 时出现链接错误
- ios - 如何模拟返回一个没有显示的ViewController
- java - 我可以用 Java 代码分析 .hprof 文件吗?
- python-3.x - Matplotlib 在没有 rc_context、ax.yaxis 等的情况下操作文本字体属性
- dart - DropdownButton 无法更新它的值(null)
- spring - MockMvc 在响应后不返回创建的资源