我有一个名为的文本文件C:/test.txt:
1 2 3 4 5 6
我想用这个文件读取每个数字StreamReader.
我怎样才能做到这一点?
我有一个带有制表符分隔数据的文本文件.我在C#应用程序中需要的是我从文本文件中读取一行并将它们保存到一个数组中,将它们分开\t.然后我对下一行做同样的事情.
我的代码:
StreamReader sr = new StreamReader(dlg.FileName);
string s = sr.ReadLine();
Run Code Online (Sandbox Code Playgroud)
现在,我已经尝试将该行写入数组,但这不起作用.有人怎么管理这个?
我有一个文本文件,其中每一行都是分隔的,一行中\n的每个值都用\t.
StreamReader sr = new StreamReader(dlg.FileName);
String ganzes = sr.ReadToEnd();
String[] allezeilen = ganzes.Split('\n');
string[] ssa = allezeilen[i].Split('\t');
foreach (string h in ssa)
{
String verwendungszw = h.Contains("Verwendungszweck");
}
Run Code Online (Sandbox Code Playgroud)
现在,在foreach循环中,我尝试在包含的ssa中找到条目"Verwendungszweck".好的,这很容易.但我不需要其中的条目"Verwendungszweck",我需要下一个.
我怎样才能获得下一个条目?
C#winforms app - 我用a StreamWriter来编写一个.csv文件(从DataGridView读取).
因为它是一个.csv文件,我怎么能告诉StreamReader不要从DatagridView中读取逗号字符(如果有的话)?
我试图从不同的文本文件加载到内存中的文本.它们都是单词,它们都按各自文本文件中单词的长度分组(例如words3.txt,words4.txt ...)
我正在使用StreamReader文件,并且由于语法,我相当肯定我可以迭代它正在使用哪个文件,如果我在for循环内执行它.我不明白为什么我应该有12个不同的using陈述.
String[] words3 = new String[2000];
for (int i = 0; i < 12; i++)
{
using (StreamReader sr = new StreamReader(path + "words" + (i+3) + ".txt"))
{
String strTemp = sr.ReadLine();
words3 = strTemp.Split(' '); //My current logic fails here
}
}
Run Code Online (Sandbox Code Playgroud)
我想迭代我的不同单词数组(单词3,单词4 ......单词15),但我自然而然地遇到了一个问题,我正在存储这些数组的名称.它保持不变,所以我只是覆盖它12次.在VB.NET我可以将迭代器变量连接到数组名称,就像这样(或类似于此的东西):
words & (i+3) = strTemp.Split(' ');
Run Code Online (Sandbox Code Playgroud)
这显然不会像我描述的那样在C#中起作用.解决这个问题的最佳方法是什么?我可以将数组放入一个更大的数组中并以某种方式迭代它们吗?在文本文件中,单词不存储在单独的行上,它们由单个空格分隔.为了节省时间,当我去查看用户的单词是否包含在我的"词典"中时,我只想在包含具有适当字母数的单词的数组中搜索匹配项.
我是C#的新手,通过C#Head First书中的一些例子,尝试以实用的方式应用我学到的东西.我正在尝试使用以下代码读取文本文件:
private StreamReader upload;
private void Form1_Load(object sender, EventArgs e)
{
if (File.Exists(@"C:\Users\Recon 5\Desktop\ToDo.txt"))
{
upload = new StreamReader(@"C:\Users\Recon 5\Desktop\ToDo.txt");
while (upload.Peek() != null)
{
currentTasks.Items.Add(upload.ReadLine());
}
upload.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码提供了预期的结果,即从文本文件中将项目添加到列表框中.我不明白的是为什么以下表达式:
upload.Peek() != null
Run Code Online (Sandbox Code Playgroud)
给我以下编译器警告:
表达式的结果始终是
true因为type的值int永远不等于nulltypeint.
我已经尝试在Windows 库中查找响应,但了解API本身就是一项任务.
我想我正在寻找的是指导我的搜索或资源以帮助我自己发现答案的有用指针.我确信可能有更好的方法来编写这个任务,但考虑到我对语言的理解,我认为使用和理解到目前为止我学到的工具很重要,在这种情况下是while循环.
我的流阅读器有问题.我想从文本文件中读取一行.
我想要一条特定的线,比如第七条线.而且我不知道该怎么做.
这是一个功能或类似的东西?喜欢file.ReadLine(7号)?
是StreamReader.Read()特别是如果应用到阻塞的方法NetworkStream?
使用C#语言制作的CSV阅读器。它可以正常工作,但是我不能忽略双引号行值之间的逗号(',')。
示例:“ aa”,“ aa,bb”,“ cc”
它看起来像
Col1 Col2 Col3 Col4
aa aa bb cc
Run Code Online (Sandbox Code Playgroud)
而不是这样,它应显示为
Col1 Col2 Col3
aa aabb cc
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
public void LoadFile(String path)
{
Table.Rows.Clear();
Table.Columns.Clear();
StreamReader file = File.OpenText(path);
String[] header = file.ReadLine().Split(',');
for (int i = 0; i < Table.ColumnCount; i++)
{
Table.Columns[i].Name = "Col " + i;}
String row = "";
while ((row = file.ReadLine()) != null)
{
Table.Rows.Add(row.Split(','));
}
file.Close();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Windows窗体应用程序,我想从我的本地机器上获取一个文本文件,让应用程序读取文本文件,并将文件中的每一行文本显示在应用程序的文本框中.我想按下表单上的一个按钮并显示文本文件的第一行,然后再次按下按钮并显示第二行等.我一直在寻找方法来做到这一点并发现StreamReader将会可能是我想要实现的最好的.
我目前有以下代码,但它似乎将每一行打印到一行.如果有人能够理解为什么,我将非常感激,我确信它的东西很小.
private void btnOpen_Click(object sender, EventArgs e)
{
string file_name = "G:\\project\\testFile.txt";
string textLine = "";
if (System.IO.File.Exists(file_name) == true)
{
System.IO.StreamReader objReader;
objReader = new System.IO.StreamReader(file_name);
do
{
textLine = textLine + objReader.ReadLine() + "\r\n";
} while (objReader.Peek() != -1);
objReader.Close();
}
else
{
MessageBox.Show("No such file " + file_name);
}
textBox1.Text = textLine;
}
Run Code Online (Sandbox Code Playgroud) c# ×10
streamreader ×10
.net ×2
contains ×1
csv ×1
file-io ×1
for-loop ×1
text-files ×1
while-loop ×1
winforms ×1