从列表框创建一个 txt 但没有最后一个空行
Creating a txt from listbox but without the last blank line
感谢您的帮助!
从列表框创建 txt 时,生成的 txt 带有最后一个空行,这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog lsd = new SaveFileDialog();
if (lsd.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(lsd.FileName + ".TXT");
for (int i = 0; i < listBox1.Items.Count; i++)
{
writer.WriteLine(listBox1.Items[i]);
}
writer.Close();
}
lsd.Dispose();
}
关于如何避免生成最后一行的任何想法?
再次感谢您的帮助!
怎么样
for (int i = 0; i < listBox1.Items.Count; i++)
{
if(i == listBox1.Items.Count - 1 && listBox1.Items[i].Length == 0)
break;
writer.WriteLine(listBox1.Items[i]);
}
即 - 如果它是最后一行且为空白则忽略它
StreamWriter.WriteLine
将文本表示写入字符串的一段字符,后跟一个行终止符。因此,您可以通过对最后一项使用 StreamWriter.Write
来避免生成最后一行。
int lastIndex = listBox1.Items.Count - 1;
for (int i = 0; i < lastIndex; i++)
{
writer.WriteLine(listBox1.Items[i]);
}
writer.Write(listBox1.Items[lastIndex]);
private void button1_Click(object sender, EventArgs e)
{
if (listBox1.Items.Count < 1)
return;
using (SaveFileDialog lsd = new SaveFileDialog())
{
lsd.AddExtension = true;
lsd.DefaultExt = "txt";
lsd.Filter = "Text Files|*.txt";
if (lsd.ShowDialog() == DialogResult.OK)
{
using (StreamWriter writer = new StreamWriter(lsd.FileName))
{
int i;
for (i = 0; i < listBox1.Items.Count - 1; i++)
{
writer.WriteLine(listBox1.Items[i]);
}
writer.Write(listBox1.Items[i]);
}
}
}
}
感谢您的帮助! 从列表框创建 txt 时,生成的 txt 带有最后一个空行,这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog lsd = new SaveFileDialog();
if (lsd.ShowDialog() == DialogResult.OK)
{
StreamWriter writer = new StreamWriter(lsd.FileName + ".TXT");
for (int i = 0; i < listBox1.Items.Count; i++)
{
writer.WriteLine(listBox1.Items[i]);
}
writer.Close();
}
lsd.Dispose();
}
关于如何避免生成最后一行的任何想法?
再次感谢您的帮助!
怎么样
for (int i = 0; i < listBox1.Items.Count; i++)
{
if(i == listBox1.Items.Count - 1 && listBox1.Items[i].Length == 0)
break;
writer.WriteLine(listBox1.Items[i]);
}
即 - 如果它是最后一行且为空白则忽略它
StreamWriter.WriteLine
将文本表示写入字符串的一段字符,后跟一个行终止符。因此,您可以通过对最后一项使用 StreamWriter.Write
来避免生成最后一行。
int lastIndex = listBox1.Items.Count - 1;
for (int i = 0; i < lastIndex; i++)
{
writer.WriteLine(listBox1.Items[i]);
}
writer.Write(listBox1.Items[lastIndex]);
private void button1_Click(object sender, EventArgs e)
{
if (listBox1.Items.Count < 1)
return;
using (SaveFileDialog lsd = new SaveFileDialog())
{
lsd.AddExtension = true;
lsd.DefaultExt = "txt";
lsd.Filter = "Text Files|*.txt";
if (lsd.ShowDialog() == DialogResult.OK)
{
using (StreamWriter writer = new StreamWriter(lsd.FileName))
{
int i;
for (i = 0; i < listBox1.Items.Count - 1; i++)
{
writer.WriteLine(listBox1.Items[i]);
}
writer.Write(listBox1.Items[i]);
}
}
}
}