C#文件操作

巴扎黑
发布: 2016-12-19 16:36:20
原创
1211人浏览过

using system; 
using system.collections.generic; 
using system.linq; 
using system.text; 
using system.io; 

namespace example 

    
    class program 
    { 
   
        static void main(string[] args) 
        { 
            ////////////////   文件打开  下面的代码打开d:wang.txt文件,并且向文件中写入"hello" 
            filestream textfile = file.open(@"d:wang.txt", filemode.append);//以append方式打开文件(如果不存在,会创建) 
            byte[] info = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' };//要写入的信息 
            textfile.write(info, 0, info.length);//write方法只能写入byte数组                        
            textfile.close();//关闭文件流 
           

            ////////////////////// 文件创建    
            filestream newtext = file.create(@"d: ewtext.txt");//创建文件 
            newtext.close();//关闭文件 

            ////////////////////  删除文件 
            file.delete(@"d: ewtext.txt"); 

            //////////////////  文件复制   如果目标文件存在,不允许复制(就是不能覆盖同名文件) 
            //file.copy(@"d:wang.txt", @"d:copywang.txt"); 


            ////////////////  文件移动  只能在同一个盘中移动  如果目标路径不正确,不能移动 
           // file.move(@"d:copywang.txt", @"d:movewang.txt"); 

            ////////////////////////  设置文件属性为 只读,隐藏 
            //file.setattributes(@"d:copywang.txt", fileattributes.readonly | fileattributes.hidden);//同时满足多个属性,必须用位或(|). 

            ///////////////  判断文件是不是存在 
            if (file.exists(@"d:copywang.txt"))//如果存在  即便是隐藏的文件也可以找到 
            { 
                file.setattributes(@"d:copywang.txt", fileattributes.readonly);//重新设置属性后,隐藏的文件也会显示出来,只要不加hidden属性 
                console.writeline("找到文件copywang.txt"); 
            } 
            else 
            { 
                console.writeline("没有找到文件copywang.txt"); 
            } 
            /* 
            此外,file类对于text文本提供了更多的支持。 
          ?appendtext:将文本追加到现有文件 
          ?createtext:为写入文本创建或打开新文件 
          ?opentext:打开现有文本文件以进行读取 
          但上述方法主要对utf-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下面的代码对txt文件进行操作。 
          ?对txt文件进行“读”操作,示例代码如下:   
             */ 
            streamreader textreader = new streamreader(@"d:wang.txt", system.text.encoding.default);//以默认编码方式打开文件 
            string str = textreader.readtoend();//读取文件 
            console.writeline("使用streamreader读取文本内容:" + str); 
            textreader.close(); 

            //////////////////对txt文件写内容 
            streamwriter textwriter = new streamwriter(@"d:wang.txt"); 
            str = "learn .net"; 
            textwriter.write(str); 
            textwriter.close(); 

            /* 
            system.io.directory类和system.directoryinfo类 
           主要提供关于目录的各种操作,使用时需要引用system.io命名空间。下面通过程序实例来介绍其主要属性和方法。 
            */ 
            directory.createdirectory(@"d:wang1wang");//创建目录(文件夹)如果已经存在,则保持;还可以一次创建多级目录 

            /////////////////////////////////目录属性设置方法 
            directoryinfo dirinfo = new directoryinfo(@"d:wang1wang");// 
            dirinfo.attributes = fileattributes.hidden;// | fileattributes.readonly;//设置文件夹属性 

            /////////////////delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。 
            //如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。 
            //directory.delete(@"d:wang1", true);//如果文件设置为readonly,则不能删除 

            //directory.move(@"d:wang1", @"d:wang3");//把文件夹wang1移动到文件夹wang3中,相当于把wang1删除,创建一个wang3,再把内容移动到wang3 

            string[] directories = directory.getdirectories(@"d:wang3");//获得文件夹wang3的目录 
            foreach (string var in directories) 
                console.writeline(var); 

            string[] files = directory.getfiles(@"d:wang1");//获取文件夹wang1下面的所有文件 
            foreach (string var in files) 
                console.writeline(var); 

            if (directory.exists(@"d:wang1")) 
                console.writeline("文件夹wang1存在"); 

            /* 
            在c#中 “”是特殊字符,要表示它的话需要使用“\”。由于这种写法不方便,c#语言提供了@对其简化。只要在字符串前加上@即可直接使用“”。 
                所以上面的路径在c#中应该表示为“book”,@“ mpook”,@“c: mpook”。 
            */ 

            console.readline();   

        } 
    } 
}

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
c#
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号