2 jacywzc jacywzc 于 2015.05.27 16:58 提问

怎样利用c#在windows窗体对txt文件每行最前插入V和在最后插入‘1 0 0’?

例如:
aaaa bbbb cccc
dddd eeeee ffff变成如下:
v aaaa bbbb cccc 1 0 0
v dddd eeee ffff 1 0 0

8个回答

caozhy
caozhy   Ds   Rxr 2015.05.27 19:51
已采纳
 File.WriteAllLines("c:\\1.txt", File.ReadAllLines("c:\\1.txt").Select(x => "v " + x + " 1 0 0"));
jacywzc
jacywzc 回复caozhy: 是的啊,怎么会出现这个问题!
大约 3 年之前 回复
caozhy
caozhy 回复jacywzc: 你的e盘有1.txt么
大约 3 年之前 回复
jacywzc
jacywzc 出现错误啦“System.IO.FileNotFoundException”类型的未经处理的异常在 mscorlib.dll 中发生 其他信息: 未能找到文件“e:\1.txt”。
大约 3 年之前 回复
edouardzyc
edouardzyc   2015.05.27 17:03

一个读取文件,每次读取一行,输出流对每一行数据插入V和插入‘1 0 0’

jacywzc
jacywzc 我想做的一个命令按钮实现功能:每次读取一行,对每一行数据插入V和插入‘1 0 0’,然后保存txt文件并把后缀名改为.obj
大约 3 年之前 回复
jacywzc
jacywzc 恩,是的!怎么实现啊?
大约 3 年之前 回复
albertbush
albertbush   2015.05.27 17:08

os.writeline("{v {0} 1 0 0",is.readline());

jacywzc
jacywzc 调试时出现:当前上下文中不存在名称“istr” 当前上下文中不存在名称“ostr”
大约 3 年之前 回复
albertbush
albertbush 汗。is貌似是关键字...ostr.writeline("{v {0} 1 0 0",istr.readline());
大约 3 年之前 回复
cherry91xw
cherry91xw   2015.05.27 17:23

#region 读取文件
public static ArrayList GetFile(string varFileName,string path)
{
ArrayList arrl= new ArrayList();
if (!File.Exists(varFileName))
{
return arrl;
}
StreamReader rs = new StreamReader(varFileName, System.Text.Encoding.Default);//注意编码
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);

string varLine = "";
while (rs.Peek() > -1)
{
varLine = rs.ReadLine();
if (varLine == "")
{
continue;
}

else
{
sw.writeline("{v {0} 100",varLine);
}
}
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
rs.Close();
return arrl;
}
#endregion
可以试试这个,调试下。

jacywzc
jacywzc 回复cherry91xw: 是把它删掉吗?
大约 3 年之前 回复
jacywzc
jacywzc 回复cherry91xw: 是把它删掉吗?
大约 3 年之前 回复
cherry91xw
cherry91xw 额,前面的ArrayList 相关可以去掉,变成无返回值方法。忘记删了
大约 3 年之前 回复
fish024
fish024   2015.05.27 17:27

每次读取一行,对每一行数据插入V和插入‘1 0 0’,然后输出。

guwei4037
guwei4037   Ds   Rxr 2015.05.27 19:47

亲测通过,望采纳。

 using (StreamReader sr = new StreamReader("a.txt", Encoding.UTF8))
            {
                StringBuilder sb = new StringBuilder();
                string line = null;
                while ((line = sr.ReadLine()) != null)
                {
                    line = line.Insert(line.Length, " 1 0 0").Insert(0, "v ");
                    sb.Append(line + "\r\n");
                }

                File.WriteAllText("result.txt", sb.ToString(), Encoding.UTF8);
            }
caozhy
caozhy   Ds   Rxr 2015.05.27 19:50

一行代码就够了
File.WriteAllLines("c:\1.txt", File.ReadAllLines("c:\1.txt").Select(x => "v " + x + " 1 0 0"));

caozhy
caozhy   Ds   Rxr 2015.05.27 19:51

记得加上
using System.Linq;
using System.IO;

jacywzc
jacywzc :出现错误啦“System.IO.FileNotFoundException”类型的未经处理的异常在 mscorlib.dll 中发生 其他信息: 未能找到文件“e:\1.txt”。这个错误怎么解决啊:
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!