System.IO全面总结(一)

本文出自 “李涛的技术专栏” 博客,请务必保留此出处http://terryli.blog.51cto.com/704315/520607

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
namespace TestWebClientClass
{
    class Program
    {
        static void Main(string[] args)
        {
            WebClient client = new WebClient();
            client.BaseAddress = " http://www.microsoft.com:";
            string data = client.DownloadString("office");
            Console.WriteLine(data);
            //创建一个文本文件,把返回的字符串data写入文本文件
            string m_path = @"c: ile.txt";
            //File.Create(m_path); //此方法的返回类型是FileStream  File.Create方法在这里会产生异常:线程有异常
            File.CreateText(m_path); //File.CreateText在这里不会产生异常
            StreamWriter sw = new StreamWriter(m_path, false);
            //StreamWriter sw = File.CreateText(m_path);这一条语句和上面2条语句等价
            sw.Write(data);
            sw.Close();//必须关闭才会把字符串写入文件。
            Console.WriteLine("写入成功");
            Console.ReadLine();
            和上面的作用一样
            //StreamWriter sw = new StreamWriter( @"c: ile.txt", false);//为false则改写,为true则追加在文件后面,true和false只决定是否改写或追加,与文件存不存在没有关系。                                                      
            //sw.Write(data);
            //sw.Close();//必须关闭才会把字符串写入文件。
            下面是为了测试FileInfo类而加进来的代码
            //FileInfo fi = new FileInfo(@"c: ile.txt");     
            //Console.WriteLine("写入成功");
            //Console.WriteLine(fi.Extension);//.txt
            //Console.WriteLine (fi.Name);//  file.txt
            //Console.WriteLine (fi.Length );// 3741
            //Console.WriteLine (fi.ToString());//c: ile.txt
            //Console .WriteLine (fi.FullName );//c: ile.txt  
            //Console.WriteLine(fi.Exists);//true
            //Console.ReadLine();
            和上面的作用一样
            //File.WriteAllText(@"c: ile01.txt", data, Encoding.UTF8);//创建新文件,如果文件存在则改写文件
            File.Encrypt(@"c: ile01.txt");//加密文件,加密后文件成绿色
            File.Decrypt(@"c: ile01.txt");//加密文件,解密后文件恢复原来的颜色
            //Console.WriteLine("写入成功");
            //Console.ReadLine();
 
            //下面的示例在指定路径中创建一个文件,将一些信息写入该文件,再从文件中读取。
            string path = @"c: empMyTest.txt";
            try
            {
                // Delete the file if it exists.
                if (File.Exists(path))
                {
                    // Note that no lock is put on the
                    // file and the possibliity exists
                    // that another process could do
                    // something with it between
                    // the calls to Exists and Delete.
                    File.Delete(path);
                }
                // Create the file.
                using (FileStream fs = File.Create(path))
                {
                    Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
                    // Add some information to the file.
                    fs.Write(info, 0, info.Length);
                }
                // Open the stream and read it back.
                using (StreamReader sr = File.OpenText(path))
                {
                    string s = "";
                    while ((s = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(s);
                    }
                }
            }
            catch (Exception Ex)
            {
                Console.WriteLine(Ex.ToString());
            }        
      
            /*---------------------知识扩充---------------------------------*/
            //File.Create(string Path )//创建文件,此方法的返回类型是FileStreamv,如果指定的文件不存在,则创建该文件;如果存在并且不是只读的,则将改写其内容。
            //File.CreateText(string Path ) //创建或打开一个文件用于写入UTF-8编码的文本 ,此方法的返回类型是StreamWriter.如果由 path 指定的文件不存在,则创建该文件。如果该文件确实存在,则改写其内容。允许其他线程在文件打开后读取该文件。
            //File.CreateText方法,相当于调用StreamWriter类的构造函数,所以指定路径的文件可以存在也可以没有存在
            //File.AppendAllText(string Path ,string contents);//将指定的字符串追加到文件中,如果文件还不存在则创建该文件
            //File.AppendAllText(string Path,string contents,Encoding encoding );
            //File.Open (string Path ,FileMode mode)  //此方法的返回类型是FileStream
            //File.Open (string Path ,FileMode mode,FileAccess access)
            //File.Copy (这里面有两个参数或三个参数)//实现文件复制
            //File.Encrypt(string Path)//将某个文件加密,使得只有加密该文件的帐户才能将其解密
            //File.Decrypt (string Path)//解密由当前帐户用Systen.IO.File.Encrtpt(System.String)方法加密的文件
            //File.Delete (string Path )//删除指定的文件。如果指定的文件不存在,则不引发异常
            //File.Exists (string Path )//确定指定的文件是否存在,返回值为bool
            //File.Move(string sourceFileName,string destFileName)//移动文件夹,并可为文件指定新名字
            //File.OpenRead(string Path) //打开现有文件以进行读取 此方法的返回类型是FileStream
            //File.OpenWrite(string Path)//打开现有文件以进行写入 此方法的返回类型是FileStream
            //File.OpenText (string Path)//返回类型为SteamReader,打开现有UTF-8编码文本文件以进行读取,此方法相当于掉用StreamReader的构造函数,所以要求指定路径的文件必须已经存在,否则产生异常
            //File.ReadAllText (string Path ) //返回值为string,打开一个文件,使用指定的 编码读取文件的所有行,然后关闭文件
            //File.ReadAllText (string Path,Encoding encoding )
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值