如何创建“Txt”文件,并在“.Txt”文件中写入信息
Master,求这样的实例,或是代码实例。一个Winform窗体,它有两个“Textbox”,一个用来输入“txt”文件名,一个用来输入“txt文件中的内容”。
在窗体上还有一个“Button”按钮,点击按钮,根据输入的文件名和内容创建“txt”文件到“项目下的Log文件夹”下。
--------------------编程问答-------------------- 写txt文件方法很多,比如
--------------------编程问答-------------------- File.WriteAllText(@"路径"+TextBoxFilename.Text.Trim(),TextBoxContent.Text.Trim());
StreamWriter writer = new StreamWriter("c:\\1.txt");
writer.Write("abc");
writer.Close();
路径自己拼下 --------------------编程问答-------------------- WriteAllText方法会自动创建文件并写入字符串。 --------------------编程问答--------------------
到位
--------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/vstudio/8bh11f1k.aspx
写的再明了不过了,你不看,微软都要哭了。 --------------------编程问答-------------------- ++ --------------------编程问答-------------------- 这种例子网上一大把 --------------------编程问答-------------------- 一楼的方法就可行的…… --------------------编程问答--------------------
大师,获取WInform程序的根目录呢???那个类叫做什么呢??? --------------------编程问答-------------------- string directory = System.AppDomain.CurrentDomain.BaseDirectory + "Logfiles";
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
这样对吧??? --------------------编程问答-------------------- Application.StartupPath --------------------编程问答-------------------- StreamWriter writer = new StreamWriter(Application.StartupPath +"debug的那个目录");
writer.Write("123");
writer.Close(); --------------------编程问答-------------------- 直接百度就好了。网上太多了 --------------------编程问答-------------------- File.Create(LogFileName).Close();
未能找到路径“E:\Test\TxtFile\TxtFile\bin\Debug\LogFiles\2013年\1月\11日\44分52秒115毫秒测试-测试.txt”的一部分。
路径,不能太深是吗??? 多少层不行呢??? --------------------编程问答-------------------- 大师,总是提示:
未能找到路径“E:\Test\TxtFile\TxtFile\bin\Debug\LogFiles\20130111\测试5424195.txt”的一部分。
private void button1_Click(object sender, EventArgs e)
{
string logname = textBox1.Text.Trim();
string logcontent = textBox2.Text.Trim();
TxtHelper txthelper = new TxtHelper();
txthelper.WriteLog(logname, logcontent);
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace TxtFile
{
public class TxtHelper
{
public void WriteLog(string LogName, string LogContent)
{
//日志文件按照,时日月年分开
DateTime DANow=DateTime.Now;
//string Year=DANow.Year.ToString()+"年";
//string Month=DANow.Month.ToString()+"月";
//string Day=DANow.Day.ToString()+"日";
//string DATime=DANow.ToString("mm分ss秒fff毫秒");
string DADate = DANow.ToString("yyyyMMdd");
string DATime = DANow.ToString("mmssfff");
string directory = System.AppDomain.CurrentDomain.BaseDirectory + "LogFiles";
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
//string LogFileDir = string.Format("{0}\\{1}\\{2}\\{3}\\{4}", directory, Year, Month, Day, DATime+LogName);
string LogFileDir = string.Format("{0}\\{1}\\{2}", directory, DADate, LogName + DATime);
string LogFileName = LogFileDir + ".txt";
if (!File.Exists(LogFileName))
{
File.Create(LogFileName).Close();
StreamWriter output;
output = File.AppendText(LogFileName);
output.WriteLine(LogContent);
output.Close();
}
else
{
StreamWriter output;
output = File.AppendText(LogFileName);
output.WriteLine(LogContent);
output.Close();
}
}
}
} --------------------编程问答-------------------- Master,目录只能“string logFileDir = string.Format("{0}\\{1}", directory, logname+DATime);”这样两级吗??? 三级菜单就会报错啊。 --------------------编程问答-------------------- 目录级数不限的吧,如果报错的话,先检查下路径是否存在,不存在就创建路径
引用你的代码如下
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
string LogFileDir = string.Format("{0}\\{1}\\{2}", directory, DADate, LogName + DATime);//多了一层目录,所以出错,因为没创建
string LogFileName = LogFileDir + ".txt";
if (!File.Exists(LogFileName))
{
。。。。
}
很明显你这样是不限的,因为你的路径只创建到directory文件夹,但是你的文件名却是再这个路径下的DADate文件夹中,所以才报错,因为你没有创建DADate。
要不你就改下路径
--------------------编程问答--------------------
string directory = System.AppDomain.CurrentDomain.BaseDirectory + "LogFiles";
directory=String.Format(directory+"\\{0}",DADate);//目录要创建完整,一直到你要放文件的目录
if (!Directory.Exists(directory))
Directory.CreateDirectory(directory);
目录不存在就要创建啊亲,没创建当然会报错了 --------------------编程问答-------------------- 问题虽然简单,但是学问还是蛮多的.....又学习了! --------------------编程问答--------------------
Thanks a lot...
这样就可以了啊。
string directory = System.AppDomain.CurrentDomain.BaseDirectory + string.Format("{0}\\{1}\\{2}\\{3}", "LogFiles",Year,Month,Day); --------------------编程问答-------------------- 文件夹没有创建到 --------------------编程问答-------------------- 一楼的方法就可行的……
补充:.NET技术 , C#