C#生成txt文件。

制作界面是exe也行,web页面也行。界面上两个输入框,一个框按时间输入数字,如20140204103001,第二个框输入几行数字,行数不确定。界面里还有两个按钮。一个叫... 制作界面是exe也行,web页面也行。界面上两个输入框,一个框按时间输入数字,如20140204103001,第二个框输入几行数字,行数不确定。界面里还有两个按钮。一个叫“生成”,一点就生成txt文件。txt内容第一行是输入的时间,20140204103001.txt,第二行为分开的时间。下面是输入的数字,每个数字一行。生成txt文件后,自动保存到本地一个文件夹内,然后复制到局域网内一个共享文件夹内。第二个按钮叫“删除”,一按就把刚才生成的两个位置的txt删除掉。txt格式如图。
保存的文件名就以第一行为名,20140204103001.txt。
展开
 我来答
llyn23
2014-03-04 · TA获得超过5142个赞
知道大有可为答主
回答量:1831
采纳率:50%
帮助的人:1847万
展开全部

主要就是用DateTime.Now.ToString("yyyyMMddHHmmss")和DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")去格式化时间,用StreamWriter去创建文件,用File.Copy复制文件,用File.Delete删除文件,代码见附件中。


bxfc
2014-03-04 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:684万
展开全部
//主代码
  private void btnSaveFile_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtDateTimeName.Text))
            {
                MessageBox.Show("请先输入时间格式的名称:格式yyyyMMddHHmmss,如:20130145121501");
                return;
            }
            try
            {
                DateTime dt = DateTime.ParseExact(txtDateTimeName.Text, "yyyyMMddHHmmss", null, DateTimeStyles.None);
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.Filter = "文本文件|*.txt";
                dialog.FilterIndex = 0;
                dialog.FileName = txtDateTimeName.Text;
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    StringBuilder strmessage = new StringBuilder();
                    strmessage.AppendLine(new FileInfo(dialog.FileName).Name);
                    strmessage.AppendLine(dt.ToString("yyyy-MM-dd HH:mm:ss"));
                    strmessage.AppendLine("----------------------------------");
                    strmessage.AppendLine(txtBody.Text);
                    if (!dialog.CheckPathExists)
                        Directory.CreateDirectory(dialog.FileName);
                    File.AppendAllText(dialog.FileName, strmessage.ToString());
                    labFileAddress.Text = dialog.FileName;
                    MessageBox.Show("保存成功");
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return; 
            }
        }
        private void btnDelFile_Click(object sender, EventArgs e)
        {
//此处原代码有问题,需要添加! 
            if (!string.IsNullOrEmpty(labFileAddress.Text))
            {
                File.Delete(labFileAddress.Text);
                labFileAddress.Text = string.Empty;
                
                MessageBox.Show("删除成功");
            }
        }

 

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Materal君
2014-03-04
知道答主
回答量:8
采纳率:0%
帮助的人:3.4万
展开全部
帮你写了个类,调用就行
using System;
using System.IO;

namespace MateralTools.File
{
public class FileOperator
{
/// <summary>
/// 保存Text(我非常不理解为何要创建了在复制,你直接创建进去不是更好吗?)
/// </summary>
/// <param name="filePath">文件夹路径</param>
/// <param name="dateTime">时间字符串</param>
/// <param name="para">数字参数列表</param>
public void SaveText(string filePath, string dateTime, params int[] para)
{
if (dateTime.Length == 14)
{
int Y = Convert.ToInt32(dateTime.Substring(0, 4));
int M = Convert.ToInt32(dateTime.Substring(4, 2));
int D = Convert.ToInt32(dateTime.Substring(6, 2));
int H = Convert.ToInt32(dateTime.Substring(8, 2));
int m = Convert.ToInt32(dateTime.Substring(10, 2));
int s = Convert.ToInt32(dateTime.Substring(12, 2));
DateTime dt = new DateTime(Y, M, D, H, m, s);
DirectoryInfo di = new DirectoryInfo(filePath);
if (!di.Exists)
{
di.Create();
}
filePath += "/" + dateTime + ".TXT";
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);//这样是追加如果不想要追加就把FileModel换成CreateNew
String str = String.Format("{0}.TXT\r\n{1} {2}\r\n--- \r\n", dateTime, dt.ToShortDateString(), dt.ToShortTimeString());
foreach (int temp in para)
{
str += temp.ToString() + "\r\n";
}
StreamWriter sw = new StreamWriter(fs);
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine(str);
sw.Flush();
sw.Close();
if (fs != null)
{
fs.Close();
}
}
}
/// <summary>
/// 删除Text
/// </summary>
/// <param name="filePath">文件路径</param>
public void DeleteText(string filePath)
{
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岩石の审判8a3631
2014-03-04 · TA获得超过3822个赞
知道小有建树答主
回答量:1513
采纳率:33%
帮助的人:975万
展开全部
时间那个可以用DateTime类。
DateTime dt = DateTime.Now;
第一行:
string s = dt.Year + dt.Month.ToString().PadLeft(2, '0') + dt.Day.ToString().PadLeft(2, '0') + dt.Hour.ToString().PadLeft(2, '0') + dt.Minute.ToString().PadLeft(2, '0') + dt.Second.ToString().PadLeft(2, '0');
第二行:
string s1 = dt.Year + "-" + dt.Month.ToString().PadLeft(2, '0') + "-" + dt.Day.ToString().PadLeft(2, '0') + " " + dt.Hour.ToString().PadLeft(2, '0') + ":" + dt.Minute.ToString().PadLeft(2, '0') + ":" + dt.Second.ToString().PadLeft(2, '0');

然后可以用File.WriteAllText()方法写入文件。
复制到文件夹可以用File.Copy()方法

忘了说,用户输入若干行,写入的时候一定把 \n 替换成 \r\n,要不然在文本里面会出现黑色的小框框。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式