首页 > 开发 > 综合 > 正文

C# 文件操作

2024-07-21 02:25:56
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!
目录操作

system.io 类

目录操作
string[] drives = directory.getlogicaldrives(); //本地驱动器的名,如:c:/等
string path = directory.getcurrentdirectory();   //获取应用程序的当前工作目录
path.getfilename(@"c:/dir/file.txt");            //获取子目录的名字,result的结果是file.txt
directory.getfiles(路径及文件名)                 //获取指定目录中的文件名(文件列表)
directoryinfo di = new directoryinfo(@"f:/mydir"); //构造函数创建目录
directoryinfo di=directory.createdirectory(@"f:/bbs"); //创建对象并创建目录
if (di.exists == false) //检查是否存在此目录
di.create(); //创建目录
directoryinfo dis = di.createsubdirectory("subdir"); //以相对路径创建子目录
dis.delete(true); //删除刚创建的子目录
di.delete(true); //删除创建目录

文件操作
directory.delete(@"f:/bbs2", true); //删除目录及其子目录和内容(如为假不能删除有内容的目录包括子目录)
directory.getdirectories 方法 //获取指定目录中子目录的名称
string[] dirs = directory.getdirectories(@"f:/", "b*");
console.writeline("此目录中以b开头的子目录共{0}个!", dirs.length);
foreach (string dir in dirs) { console.writeline(dir); }
directory.getfilesystementries //获取指定目录中的目录及文件名
directory.getlogicaldrives //检索此计算机上格式为“<驱动器号>:/”的逻辑驱动器的名称,【语法同上】
directory.getparent //用于检索父目录的路径。
directoryinfo a = directory.getparent(path);
console.writeline(a.fullname);directory.move //移动目录及其在内的所有文件
directory.move(@"f:/bbs/1", @"f:/bbs/2"); //将文件夹1内的文件剪到文件夹2内 文件夹2是刚创建的

 

stream // 对字节的读写操作(包含对异步操作的支持) reading writing seeking

binaryreader和binarywriter // 从字符串或原始数据到各种流之间的读写操作

filestream类通过seek()方法进行对文件的随机访问,默认为同步

textreader和textwriter //用于gb2312字符的输入和输出

stringreader和stringwriter //在字符串中读写字符

streamreader和streamwriter //在流中读写字符

bufferedstream 为诸如网络流的其它流添加缓冲的一种流类型.

memorystream 无缓冲的流

networkstream 互联网络上的流



//编码转换
encoding e1 = encoding.default;               //取得本页默认代码
byte[] bytes = e1.getbytes("中国人民解放军"); //转为二进制
string str = encoding.getencoding("utf-8").getstring(bytes); //转回utf-8编码

  




//文本文件操作:创建/读取/拷贝/删除
using system;
using system.io;
class test
{
   string path = @"f:/t.txt";
   public static void main()
    {       
      //创建并写入(将覆盖已有文件)
      if (!file.exists(path))
       {          
         using (streamwriter sw = file.createtext(path))
          {
             sw.writeline("hello");
          }
       }
      //读取文件
      using (streamreader sr = file.opentext(path))
       {
         string s = "";
        while ((s = sr.readline()) != null)
         {
            console.writeline(s);
         }
      }
     //删除/拷贝
     try
      {
         file.delete(path);
         file.copy(path, @"f:/tt.txt");
      }
     catch (exception e)
      {
         console.writeline("the process failed: {0}", e.tostring());
      }
    }
}


//流文件操作
private const string name = "test.data";
public static void main(string[] args)
{
     //打开文件()   ,或通过file创建立如:fs = file.create(path, 1024)
     filestream fs = new filestream(name, filemode.createnew);
     //转换为字节 写入数据(可写入中文)
     byte[] info = new utf8encoding(true).getbytes("this is some text in the file.");
    //字节数组,字节偏移量,最多写入的字节数
     fs.write(info, 0, info.length);
     w.close();
     fs.close();
    //打开文件
     fs = new filestream(name, filemode.open, fileaccess.read);
    //读取
     binaryreader r = new binaryreader(fs);
     for (int i = 0; i < 11; i++)
     {
         console.writeline(r.readint32());
     }
     w.close();
     fs.close();
}

 

//c#写入/读出文本文件
   string filename [email protected]"c:/111.txt";
   streamreader sr = new streamreader(filename);                                               string   str=sr.readline   ();                                                                                                                                     sr.close();                                       
   streamwriter rw=file.createtext(server.mappath(".")+"//mytext.txt");
rw.writeline("写入");
rw.writeline("abc");
rw.writeline(".net笔记");
rw.flush();
rw.close();
//打开文本文件
streamreader sr=file.opentext(server.mappath(".")+"//mytext.txt");
stringbuilder output=newstringbuilder();
string rl;
while((rl=sr.readline())!=null)
{
   output.append(rl+"");
}
lblfile.text=output.tostring();
sr.close();

//c#追加文件
streamwriter sw=file.appendtext(server.mappath(".")+"//mytext.txt");
sw.writeline("追逐理想");
sw.writeline("kzlll");
sw.writeline(".net笔记");
sw.flush();
sw.close();
//c#拷贝文件
string orignfile, 总结c#中得到程序当前工作目录和执行目录的一些方法总结c#中得到程序当前工作目录和执行目录的一些方法 c#从视频截图的方法c#从视频截图的方法 使用httpwebrequest访问网页及获取数据使用httpwebrequest访问网页及获取数据 asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 ) c# 获得局域网主机列表实例c# 获得局域网主机列表实例 c#的链接地址替换c#的链接地址替换 c#获取远程网页中的所有链接url(网络蜘蛛实现原理)c#获取远程网页中的所有链接url(网络蜘蛛实现原理) c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等)c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等) 身份证格式验证(含15位转换到18位)c#身份证格式验证(含15位转换到18位)c# c#生成缩略图代码c#生成缩略图代码 c#实现通过程序自动抓取远程web网页信息c#实现通过程序自动抓取远程web网页信息 c# 文件操作c# 文件操作 c#下用p2p技术实现点对点聊天c#下用p2p技术实现点对点聊天 用c#获取无限多级分类的实现用c#获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码在水晶报表中动态的添加自己所需要的的字段的代码 asp.net 绘制曲线图asp.net 绘制曲线图 c#堆栈c#堆栈 c#链表类c#链表类 用asp.net 2.0 formview控件控制显示用asp.net 2.0 formview控件控制显示 使用asp.net 2.0 detailsview控件处理数据使用asp.net 2.0 detailsview控件处理数据;
orignfile=server.mappath(".")+"//mytext.txt";
总结c#中得到程序当前工作目录和执行目录的一些方法总结c#中得到程序当前工作目录和执行目录的一些方法 c#从视频截图的方法c#从视频截图的方法 使用httpwebrequest访问网页及获取数据使用httpwebrequest访问网页及获取数据 asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 ) c# 获得局域网主机列表实例c# 获得局域网主机列表实例 c#的链接地址替换c#的链接地址替换 c#获取远程网页中的所有链接url(网络蜘蛛实现原理)c#获取远程网页中的所有链接url(网络蜘蛛实现原理) c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等)c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等) 身份证格式验证(含15位转换到18位)c#身份证格式验证(含15位转换到18位)c# c#生成缩略图代码c#生成缩略图代码 c#实现通过程序自动抓取远程web网页信息c#实现通过程序自动抓取远程web网页信息 c# 文件操作c# 文件操作 c#下用p2p技术实现点对点聊天c#下用p2p技术实现点对点聊天 用c#获取无限多级分类的实现用c#获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码在水晶报表中动态的添加自己所需要的的字段的代码 asp.net 绘制曲线图asp.net 绘制曲线图 c#堆栈c#堆栈 c#链表类c#链表类 用asp.net 2.0 formview控件控制显示用asp.net 2.0 formview控件控制显示 使用asp.net 2.0 detailsview控件处理数据使用asp.net 2.0 detailsview控件处理数据=server.mappath(".")+"//mytextcopy.txt";
file.copy(orignfile, 总结c#中得到程序当前工作目录和执行目录的一些方法总结c#中得到程序当前工作目录和执行目录的一些方法 c#从视频截图的方法c#从视频截图的方法 使用httpwebrequest访问网页及获取数据使用httpwebrequest访问网页及获取数据 asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 ) c# 获得局域网主机列表实例c# 获得局域网主机列表实例 c#的链接地址替换c#的链接地址替换 c#获取远程网页中的所有链接url(网络蜘蛛实现原理)c#获取远程网页中的所有链接url(网络蜘蛛实现原理) c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等)c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等) 身份证格式验证(含15位转换到18位)c#身份证格式验证(含15位转换到18位)c# c#生成缩略图代码c#生成缩略图代码 c#实现通过程序自动抓取远程web网页信息c#实现通过程序自动抓取远程web网页信息 c# 文件操作c# 文件操作 c#下用p2p技术实现点对点聊天c#下用p2p技术实现点对点聊天 用c#获取无限多级分类的实现用c#获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码在水晶报表中动态的添加自己所需要的的字段的代码 asp.net 绘制曲线图asp.net 绘制曲线图 c#堆栈c#堆栈 c#链表类c#链表类 用asp.net 2.0 formview控件控制显示用asp.net 2.0 formview控件控制显示 使用asp.net 2.0 detailsview控件处理数据使用asp.net 2.0 detailsview控件处理数据,true);
//c#删除文件
string delfile=server.mappath(".")+"//mytextcopy.txt";
file.delete(delfile);
//c#移动文件
string orignfile, 总结c#中得到程序当前工作目录和执行目录的一些方法总结c#中得到程序当前工作目录和执行目录的一些方法 c#从视频截图的方法c#从视频截图的方法 使用httpwebrequest访问网页及获取数据使用httpwebrequest访问网页及获取数据 asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 ) c# 获得局域网主机列表实例c# 获得局域网主机列表实例 c#的链接地址替换c#的链接地址替换 c#获取远程网页中的所有链接url(网络蜘蛛实现原理)c#获取远程网页中的所有链接url(网络蜘蛛实现原理) c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等)c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等) 身份证格式验证(含15位转换到18位)c#身份证格式验证(含15位转换到18位)c# c#生成缩略图代码c#生成缩略图代码 c#实现通过程序自动抓取远程web网页信息c#实现通过程序自动抓取远程web网页信息 c# 文件操作c# 文件操作 c#下用p2p技术实现点对点聊天c#下用p2p技术实现点对点聊天 用c#获取无限多级分类的实现用c#获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码在水晶报表中动态的添加自己所需要的的字段的代码 asp.net 绘制曲线图asp.net 绘制曲线图 c#堆栈c#堆栈 c#链表类c#链表类 用asp.net 2.0 formview控件控制显示用asp.net 2.0 formview控件控制显示 使用asp.net 2.0 detailsview控件处理数据使用asp.net 2.0 detailsview控件处理数据;
orignfile=server.mappath(".")+"//mytext.txt";
总结c#中得到程序当前工作目录和执行目录的一些方法总结c#中得到程序当前工作目录和执行目录的一些方法 c#从视频截图的方法c#从视频截图的方法 使用httpwebrequest访问网页及获取数据使用httpwebrequest访问网页及获取数据 asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 ) c# 获得局域网主机列表实例c# 获得局域网主机列表实例 c#的链接地址替换c#的链接地址替换 c#获取远程网页中的所有链接url(网络蜘蛛实现原理)c#获取远程网页中的所有链接url(网络蜘蛛实现原理) c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等)c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等) 身份证格式验证(含15位转换到18位)c#身份证格式验证(含15位转换到18位)c# c#生成缩略图代码c#生成缩略图代码 c#实现通过程序自动抓取远程web网页信息c#实现通过程序自动抓取远程web网页信息 c# 文件操作c# 文件操作 c#下用p2p技术实现点对点聊天c#下用p2p技术实现点对点聊天 用c#获取无限多级分类的实现用c#获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码在水晶报表中动态的添加自己所需要的的字段的代码 asp.net 绘制曲线图asp.net 绘制曲线图 c#堆栈c#堆栈 c#链表类c#链表类 用asp.net 2.0 formview控件控制显示用asp.net 2.0 formview控件控制显示 使用asp.net 2.0 detailsview控件处理数据使用asp.net 2.0 detailsview控件处理数据=server.mappath(".")+"//mytextcopy.txt";
file.move(orignfile, 总结c#中得到程序当前工作目录和执行目录的一些方法总结c#中得到程序当前工作目录和执行目录的一些方法 c#从视频截图的方法c#从视频截图的方法 使用httpwebrequest访问网页及获取数据使用httpwebrequest访问网页及获取数据 asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 )asp..net2.0文档上传 的一个方法(一个上传控件,上传多个文档 ) c# 获得局域网主机列表实例c# 获得局域网主机列表实例 c#的链接地址替换c#的链接地址替换 c#获取远程网页中的所有链接url(网络蜘蛛实现原理)c#获取远程网页中的所有链接url(网络蜘蛛实现原理) c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等)c#里巧用datetime预设一些可选的日期范围(如本年度、本季度、本月等) 身份证格式验证(含15位转换到18位)c#身份证格式验证(含15位转换到18位)c# c#生成缩略图代码c#生成缩略图代码 c#实现通过程序自动抓取远程web网页信息c#实现通过程序自动抓取远程web网页信息 c# 文件操作c# 文件操作 c#下用p2p技术实现点对点聊天c#下用p2p技术实现点对点聊天 用c#获取无限多级分类的实现用c#获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码在水晶报表中动态的添加自己所需要的的字段的代码 asp.net 绘制曲线图asp.net 绘制曲线图 c#堆栈c#堆栈 c#链表类c#链表类 用asp.net 2.0 formview控件控制显示用asp.net 2.0 formview控件控制显示 使用asp.net 2.0 detailsview控件处理数据使用asp.net 2.0 detailsview控件处理数据);
//c#创建目录
//创建目录c:/sixage
directoryinfod=directory.createdirectory("c://sixage");
//d1指向c:/sixage/sixage1
directoryinfod1=d.createsubdirectory("sixage1");
//d2指向c:/sixage/sixage1/sixage1_1
directoryinfod2=d1.createsubdirectory("sixage1_1");
//将当前目录设为c:/sixage
directory.setcurrentdirectory("c://sixage");
//创建目录c:/sixage/sixage2
directory.createdirectory("sixage2");
//创建目录c:/sixage/sixage2/sixage2_1
directory.createdirectory("sixage2//sixage2_1"); 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表