黑马程序员技术交流社区
标题: 有关文件操作的问题 [打印本页]
作者: 迷你卡卡 时间: 2013-10-22 20:19
标题: 有关文件操作的问题
本帖最后由 迷你卡卡 于 2013-10-23 14:57 编辑
FileStream这个类可以对文件操作,而StreamReader和StreamWriter也是来操作文件的,
那么使用FileStream和StreamReader、StreamWriter有什么对比优劣吗?
什么情况下适合用FileStream?什么时候又适合用StreamReader、StreamWriter呢?
作者: 许庭洲 时间: 2013-10-22 21:09
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void Main(string[] args){
//读文件代码
byte[]m_bDataRead = new byte[100];
char[]m_cDataRead = new char[100];
try
{
FileStreamm_FileStream = new FileStream(@"c:\file.txt", FileMode.Open);
m_FileStream.Seek(0, SeekOrigin.Begin);
m_FileStream.Read(m_bDataRead,0, 100);
}
catch(IOException ex)
{
Console.WriteLine("There is an IOException");
Console.WriteLine(ex.Message);
Console.ReadLine();
return;
}
//用UTF8编码将字节数组转换为字符数组
Decoderm_Dec = Encoding.UTF8.GetDecoder();
m_Dec.GetChars(m_bDataRead, 0,m_bDataRead.Length, m_cDataRead, 0);
Console.WriteLine("Read From File Succeed!");
Console.WriteLine(m_cDataRead);
Console.ReadLine();
return;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void Main(string[] args)
{
try
{
StreamWriter m_sw = new StreamWriter(@"c:\file.txt", true);
m_sw.WriteLine("Another File Operation Method");
m_sw.Close();
}
catch (IOException ex)
{
Console.WriteLine(ex);
return;
}
Console.WriteLine("Write to File Succeed!");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void Main(string[] args)
{
try
{
StreamReader m_sr = new StreamReader(@"c:\file.txt");
string m_data = m_sr.ReadToEnd();
Console.WriteLine(m_data);
m_sr.Close();
}
catch (IOException ex)
{
Console.WriteLine(ex);
return;
}
Console.WriteLine("Write to File Succeed!");
}
作者: Liu阳 时间: 2013-10-22 21:32
FileStream是用于文件 I/O 的类,StreamReader是用于从流读取和写入流的类
作者: 迷你卡卡 时间: 2013-10-23 14:57
多谢两位的热情回答
作者: aihuahuaxx 时间: 2013-10-23 18:02
FileStream这个是对I/O的,
而StreamReader和StreamWriter是把文件当成文件流来操作的,
操作的过程和结果都一样。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |