using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace CommonLib
{
/// <summary>
/// 文件的读写
/// </summary>
public class FileHelper
{
/// <summary>
/// 使用FileStream类进行文件的读取,并将它转换成char数组,然后输出
/// </summary>
public void Read()
{
try
{
byte[] byData = new byte[100];
char[] charData = new char[1000];
FileStream file = new FileStream("E:\\test.txt", FileMode.Open);
file.Seek(0, SeekOrigin.Begin);
file.Read(byData, 0, 100);
//byData传进来的字节数组,用以接受FileStream对象中的数据,第2个参数是字节数组中开始写入数据的位置,它通常是0,表示从数组的开端文件中向数组写数据,最后一个参数规定从文件读多少字符.
Decoder d = Encoding.Default.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);
file.Close();
}
catch (IOException e)
{
Console.WriteLine(e.ToString());
}
}
/// <summary>
/// 使用StreamReader读取文件,然后一行一行的输出
/// </summary>
/// <param name="path"></param>
public void Read(string path)
{
StreamReader sr = new StreamReader(path, Encoding.Default);
String line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line.ToString());
}
}
/// <summary>
/// 使用FileStream类创建文件,然后将数据写入到文件里
/// </summary>
public void Write()
{
FileStream fs = new FileStream("E:\\ak.txt", FileMode.Create);
//获得字节数组
byte[] data = System.Text.Encoding.Default.GetBytes("Hello World!");
//开始写入
fs.Write(data, 0, data.Length);
//清空缓冲区、关闭流
fs.Flush();
fs.Close();
}
/// <summary>
/// 使用FileStream类创建文件,使用StreamWriter类,将数据写入到文件
/// </summary>
/// <param name="path"></param>
public void Write(string path)
{
FileStream fs = new FileStream(path, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//开始写入
sw.Write("Hello World!!!!");
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
}
}
}