c#保存文件(二)——file.writealllines(用到list函数)以及输出格式

本文介绍了C#中使用WriteAllLines方法保存文件,强调了其自动换行和文件覆盖的特点,并与StreamWriter进行了对比,指出StreamWriter在不换行显示和文件覆盖方面的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在我的博客中,我讲到过用streamwriter对文件进行保存,此处,我要提到另外一种方法writealllines保存文件。经过对比发现,writealllines该方法写入字符数组换行显示,且文件不存在,则创建,存在则覆盖。个人觉得相对于比较方便;streamwriter既有换行显示,也可以不换行显示;两者的共同点是:首先,通过数组转换为字符串,而writealllines是将字符串转换为字符数组写入文本,streamwriter是直接将字符串写入文本,且streamwriter没有文件存在则覆盖的功能,所以需要以下代码,即:

           

                if (File.Exists(path_A))
                    File.Delete(path_A);
                if (File.Exists(path_L))
                    File.Delete(path_L);

          writealllines方法:

           

 private void button1_Click(object sender, EventArgs e)
        {
            saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";    //自动打开对话框
            saveFileDialog1.ShowDialog();
            string filename = saveFileDialog1.FileName;
            //string[] sw ={ "thank you","you"};
            double[] sw=new double[3];
            sw[0] = 1.2; sw[1] = 2.6; sw[2] = 3.9;
            List<String> list = new List<string>();       //第一步
            list.Add("                标题                   ");    // 直接用add加内容
            list.Add("首先");
            for (int i = 0; i < 2; i++)
            {
                String s = "";
                s += sw[i].ToString() + " ";      //数组要转换为字符串


                list.Add(s);
            }
            list.Add("结束");
            //string s = "";
            //s = sw.ToString();
            System.IO.File.WriteAllLines(@filename, list.ToArray ()  , Encoding.Default);  //使用该模式writealllines进行保存,一定要用list.toarray()转换为字符数组

        }

 

                     我用了streamwriter进行对比,如下

      

 private void button2_Click(object sender, EventArgs e)
        {
            saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";  //前面打开文本框的代码相同
            saveFileDialog1.ShowDialog();
            string filename = saveFileDialog1.FileName;
            StreamWriter sr = new StreamWriter(filename ,true );
            string sw;
            sw = "";
            sw += string.Format("{0,-30}", "标题");
            sw += string.Format("{0,0}", "首先");
            sr.WriteLine(sw);
            double[] sw2 = new double[3];
            sw2[0] = 1.2; sw2[1] = 2.6; sw2[2] = 3.9;
            for (int i = 0; i < 2; i++)
            {
                String s = "";
                s += sw2[i].ToString("0.0") + " ";


                sr.WriteLine (s);
            }
            sr.Close();

        }

 

           输出格式:

               

for (int i = 1; i <= tl.Ncontrol; i++)
            {
                s = "";
               
                s += String.Format("{0, -10}", control[i - 1, 0].ToString());  //输出格式
                for (int j = 1; j < 4; j++)
                {
                    
                    s += String.Format("{0, -10}", control[i - 1, j].ToString("0.0"));//输出格式
                }

                list.Add(s);
            }

推荐代码:

 

我的手机 2019/5/19 16:00:08

https://www.cnblogs.com/researcher/p/4989395.html

 

 

我的手机 2019/5/19 16:00:27

https://blog.youkuaiyun.com/BYH371256/article/details/85272203

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值