编码实现>文件和输入输出(包括)>文件操作
时间:2010-10-14 来源:草珊瑚
编码实现>文件和输入输出>文件操作>System.IO类介绍
System.IO命名空间有重要的7个类。
·Directory:操作目录的静态方法
·DirectoryInfo:操作目录的实例方法
·DriverInfo:访问驱动器,以及驱动器详细的实例方法
·File:对文件进行操作的静态方法
·FileInfo:对文件惊喜操作的实例方法
·Path:以跨平台的方式处理目录字符串的方法和属性
编码实现>文件和输入输出>文件操作>File类通过文件的创建和打开
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace CreateAndOpen
{
class Program
{
static void Main(string[] args)
{
const string FilePath = @"C:\FileCreateOpenDemo.txt";
//使用using,在语句执行完后自动释放资源。
//使用Create方法创建文件。
using (FileStream fs = File.Create(FilePath))
{
using (StreamWriter sw = new StreamWriter(fs))
{
sw.WriteLine("这是使用Create创建文件的方法");
sw.Flush();
}
}
if (File.Exists(FilePath))
{
File.Delete(FilePath);
}
using (StreamWriter sw = File.CreateText(FilePath))
{
sw.WriteLine("这是使用CreateText方法创建文本文件的方法");
sw.Flush();
}
Console.WriteLine("使用Open方法打开文件");
using (FileStream fs = File.Open(FilePath, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
Console.WriteLine(sr.ReadToEnd());
}
}
Console.WriteLine("使用OpenRead方法打开文件");
using (FileStream fs = File.OpenRead(FilePath))
{
using (StreamReader sr = new StreamReader(fs))
{
Console.WriteLine(sr.ReadToEnd());
}
}
Console.WriteLine("使用OpenWrite方法打开文件");
using (FileStream fs = File.OpenWrite(FilePath))
{
using (StreamWriter sw = new StreamWriter(fs))
{
sw.WriteLine("使用OpenWrite方法写入文件");
sw.Flush();
}
}
Console.WriteLine("使用OpenText方法打开文本文件");
using(StreamReader sr=File.OpenText(FilePath))
{
Console.WriteLine(sr.ReadToEnd());
}
Console.ReadLine();
}
}
}
编码实现>文件和输入输出>文件操作>文件的追加
描述:将指定的字符串追加到文件的结尾。
AppendAllText方法 using System;using System.Collections.Generic;
using System.Text;
using System.IO;
namespace FileDemo1
{
class Program
{
static void Main(string[] args)
{
const string FilePath=@"C:\FileDemo1.txt";
if (File.Exists(FilePath))
{
Console.WriteLine("文件存在");
}
else
{
Console.WriteLine("文件不存在");
}
File.AppendAllText(FilePath, "这是使用File类的AppendAllText方法添加字符串!"+Environment.NewLine);
File.AppendAllText(FilePath, "这是使用File类的AppendAllText方法添加字符串,并指定编码格式为UTF-8", Encoding.UTF8);
string str = File.ReadAllText(FilePath);
Console.WriteLine(str);
Console.ReadLine();
}
}
}
编码实现>文件和输入输出>文件操作>判断一个文件是否存在
Exists方法 using System;using System.Collections.Generic;
using System.Text;
using System.IO;
namespace FileDemo1
{
class Program
{
static void Main(string[] args)
{
const string FilePath=@"C:\FileDemo1.txt";
if (File.Exists(FilePath))
{
Console.WriteLine("文件存在");
}
else
{
Console.WriteLine("文件不存在");
}
Console.ReadLine();
}
}
}
编码实现>文件和输入输出>文件操作>文件的写入
描述,将指定的字符串直接写入文件,WriteAllText会清除现存文件中已有的文本,写入新文本,而AppendAllText则是在现场文件中的尾部添加文本。
WriteAllText using System;using System.Collections.Generic;
using System.Text;
using System.IO;
namespace WriteAllText
{
class Program
{
static void Main(string[] args)
{
const string FilePath = @"C:\FileDemo1.txt";
File.WriteAllText(FilePath, "这是使用File类的WriteAllText方法添加字符串!" + Environment.NewLine);
File.WriteAllText(FilePath, "这是使用File类的WriteAllText方法添加字符串,并指定编码格式为UTF-8", Encoding.UTF8);
string str = File.ReadAllText(FilePath);
Console.WriteLine(str);
Console.ReadLine();
}
}
}
类似的文件写入的方法
WriteAllLines和WriteAllBytes using System;using System.Collections.Generic;
using System.Text;
using System.IO;
namespace WriteAllLinesAndWriteAllBytes
{
class Program
{
static void Main(string[] args)
{
const string FilePath = @"C:\FileDemo1.txt";
string[] strs ={ "这是", "使用", "WriteAllLines", "方法", "添加", "字符串" };
File.WriteAllLines(FilePath, strs);
string[] str2 = File.ReadAllLines(FilePath);
string bytestr= "这是使用WriteAllBytes方法添加字节数组";
byte[] bytes = Encoding.UTF8.GetBytes(bytestr.ToCharArray());
File.WriteAllBytes(FilePath, bytes);
byte[] bytes2 = File.ReadAllBytes(FilePath);
string str = File.ReadAllText(FilePath);
Console.WriteLine(str);
Console.ReadLine();
}
}
}
相关阅读 更多 +