C#怎样写TXT文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎样写TXT文件相关的知识,希望对你有一定的参考价值。

现在我的TXT文件A在D盘的PAT文件夹中,怎么用C#往这个文件中写多西?比如写:
姓名
年龄
职业
求代码

给你简单的:

public static void AppendAllText(string path, string contents)
System.IO.File 的成员

摘要:
打开一个文件,向其中追加指定的字符串,然后关闭该文件。如果文件不存在,此方法创建一个文件,将指定的字符串写入文件,然后关闭该文件。

参数:
path: 要将指定的字符串追加到的文件。
contents: 要追加到文件中的字符串。

public static void AppendAllText(string path, string contents, System.Text.Encoding encoding)
System.IO.File 的成员

摘要:
将指定的字符串追加到文件中,如果文件还不存在则创建该文件。

参数:
path: 要将指定的字符串追加到的文件。
contents: 要追加到文件中的字符串。
encoding: 要使用的字符编码。

public static string ReadAllText(string path)
System.IO.File 的成员

摘要:
打开一个文本文件,读取文件的所有行,然后关闭该文件。

参数:
path: 要打开以进行读取的文件。

返回值:
包含文件所有行的字符串。

public static string ReadAllText(string path, System.Text.Encoding encoding)
System.IO.File 的成员

摘要:
打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。

参数:
path: 要打开以进行读取的文件。
encoding: 应用到文件内容的编码。

返回值:
包含文件所有行的字符串。

public static void WriteAllText(string path, string contents)
System.IO.File 的成员

摘要:
创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。

参数:
path: 要写入的文件。
contents: 要写入文件的字符串。

public static void WriteAllText(string path, string contents, System.Text.Encoding encoding)
System.IO.File 的成员

摘要:
创建一个新文件,在其中写入指定的字符串,然后关闭文件。如果目标文件已存在,则覆盖该文件。

参数:
path: 要写入的文件。
contents: 要写入文件的字符串。
encoding: 一个 System.Text.Encoding 对象,表示应用于字符串的编码。
参考技术A 给你一个我现在用的:文本文件的读写,ini文件的读写

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace SkyToolBox.FileIO

public class TxtFile

private string _FilePath = "";
/// <summary>
/// 不定的某信文件的完整路径
/// </summary>
public string FilePath

get return _FilePath;
set _FilePath = value;

private string _FileName = "";
/// <summary>
/// 在当前程序目录下的文件
/// </summary>
public string FileName

get return _FileName;
set _FileName = value;

/// <summary>
/// 获取一个文本文件的内容
/// </summary>
/// <param name="filepath"></param>
/// <returns></returns>
public static string GetText(string filepath)

using (StreamReader reader = new StreamReader(filepath))

//string strLine = reader.ReadLine();
return reader.ReadToEnd();


/// <summary>
/// 向指定的文本文件里写入信息
/// </summary>
/// <param name="filepath"></param>
/// <param name="myStr"></param>
public static void WriteText(string filepath, string myStr)

using (StreamWriter writer = new StreamWriter(filepath))

writer.WriteLine(myStr);


/// <summary>
/// 将指定信息写入程序日志(当前程序目示下的LOG文件夹内)(本函数只支持应用程序,不支持web程序)
/// </summary>
/// <param name="sMsg"></param>
public static void WriteLog(string sMsg)

if (sMsg != "")

//Random randObj = new Random(DateTime.Now.Millisecond);
//int file = randObj.Next() + 1;
string filename = DateTime.Now.ToString("yyyyMMdd") + ".log";
try

FileInfo fi = new FileInfo(Application.StartupPath + "\\log\\" + filename);
if (!fi.Exists)

using (StreamWriter sw = fi.CreateText())

sw.WriteLine(DateTime.Now + "\n" + sMsg + "\n");
sw.Close();


else

using (StreamWriter sw = fi.AppendText())

sw.WriteLine(DateTime.Now + "\n" + sMsg + "\n");
sw.Close();



catch (Exception ex)

Console.WriteLine(ex.Message);




public bool WriteLine(string dataText)


FileStream fs = null;
StreamWriter sw = null;
bool ret = true;
try

string FileName = _FilePath;
//CHECK文件目录存在不
if (!Directory.Exists(FileName))

Directory.CreateDirectory(FileName);

FileName += @"\" + _FileName;
//CHECK文件存在不
if (!File.Exists(FileName))

FileStream tempfs = File.Create(FileName);
tempfs.Close();

fs = new FileStream(
FileName,
FileMode.Append,
FileAccess.Write,
FileShare.None);
fs.Seek(0, System.IO.SeekOrigin.End);
sw = new StreamWriter(fs, System.Text.Encoding.UTF8);
sw.WriteLine(dataText);
if (sw != null)

sw.Close();
sw = null;

if (fs != null)

fs.Close();
fs = null;


catch (Exception)

ret = false;

finally

try

if (sw != null)

sw.Close();
sw = null;

if (fs != null)

fs.Close();
fs = null;


catch



return ret;





using System;
using System.Collections;
using System.ComponentModel;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
namespace SkyToolBox.FileIO

public class IniFile

private string inipath;
/// <summary>
/// 配置文件的地址
/// </summary>
public string Inipath

get return inipath;
set inipath = value;

[DllImport("kernel32")]
private static extern int GetPrivateProfileInt(
string lpAppName,
string lpKeyName,
int nDefault,
string lpFileName
);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(
string lpAppName,
string lpKeyName,
string lpDefault,
StringBuilder lpReturnedString,
int nSize,
string lpFileName
);
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(
string lpAppName,
string lpKeyName,
string lpString,
string lpFileName
);
/// <summary>
/// 构造方法
/// </summary>
/// <param name="INIPath">文件路径</param>
public IniFile(string INIPath)

inipath = INIPath;

public IniFile()
/// <summary>
/// 写入INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
/// <param name="Value">值</param>
public bool IniWriteValue(string Section, string Key, string Value)

return WritePrivateProfileString(Section, Key, Value, this.inipath);

/// <summary>
/// 读出INI文件
/// </summary>
/// <param name="Section">项目名称(如 [TypeName] )</param>
/// <param name="Key">键</param>
public string IniReadValue(string Section, string Key)

StringBuilder temp = new StringBuilder(500);
int i = GetPrivateProfileString(Section, Key, "", temp, 500, this.inipath);
return temp.ToString();

/// <summary>
/// 验证文件是否存在
/// </summary>
/// <returns>布尔值</returns>
public bool ExistINIFile()

return File.Exists(inipath);


public int GetIntValue(string section, string key, int def)

return GetPrivateProfileInt(section, key, def, inipath);


public void WriteIntValue(string section, string key, int iVal)

WritePrivateProfileString(section, key, iVal.ToString(), inipath);


public void WriteStringValue(string section, string key, string strVal)

WritePrivateProfileString(section, key, strVal, inipath);


public void DelKey(string section, string key)

WritePrivateProfileString(section, key, null, inipath);


public void DelSection(string section)

WritePrivateProfileString(section, null, null, inipath);




参考技术B public void Write(string text)

FileStream fs = new FileStream("D:\\A.txt",FileMode.Apend);
StreamWriter sw = new StreamWriter(fs,Encoding.Default);
sw.Write(text);
sw.Close();
fs.Close();
本回答被提问者采纳
参考技术C using System.IO;

String[] lines = new String[] "姓名", "年龄", "职业" ;
if (!Directory.Exists(@"D:\PAT"))

Directory.CreateDirectory(@"D:\PAT");

File.WriteAllLines(@"D:\PAT\xx.txt", lines, Encoding.Default);

c# 日志文件的使用

以前写代码时写日志文件,是用新建.txt文件去保存日志文件,写起来很麻烦,C#本来提供了一种log文档的使用方式:

1 首先添加Nlog的引用  须要 NLog.dll库支持

2 实例化一个log的类

private NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();

3 使用时只写上log.bug(str)即可。

以上是关于C#怎样写TXT文件的主要内容,如果未能解决你的问题,请参考以下文章

C#怎样把得到的txt文件数据导入DataTable里面!

怎样用C#读取TXT文件内容并修改

C#怎样把得到的txt文件数据导入DataTable里面!

c#控制台程序 要输入的变量为一个文件夹的路径时该怎样写

C#写入追加数据

C#做一个写txt文件流的测试,为什么配置低的机器写入的还快