读文件示例

  1. try
  2. {
  3. // 打开文件
  4. FileStream fs = new FileStream("D:\\not.txt", FileMode.Open, FileAccess.Read);
  5. StreamReader sr = new StreamReader(fs);
  6. // 读取文件
  7. string strLine = sr.ReadLine();
  8. while (strLine != null)
  9. {
  10. Console.WriteLine(strLine);
  11. strLine = sr.ReadLine();
  12. }
  13. // 关闭文件
  14. sr.Close();
  15. fs.Close();
  16. }
  17. catch (System.IO.FileNotFoundException e)
  18. {
  19. Console.WriteLine("File Not Found");
  20. }
  21. catch (System.Exception e)
  22. {
  23. Console.WriteLine("Exception");
  24. }

写文件示例

  1. try
  2. {
  3. FileStream fs = new FileStream("D:\\test.txt", FileMode.Create, FileAccess.Write);
  4. StreamWriter sw = new StreamWriter(fs);
  5. sw.WriteLine("aaa");
  6. sw.WriteLine("bbb");
  7. sw.Close();
  8. fs.Close();
  9. }
  10. catch (System.UnauthorizedAccessException e)
  11. {
  12. Console.WriteLine("No Access To Write");
  13. }
  14. catch (System.Exception e)
  15. {
  16. Console.WriteLine(e.ToString());
  17. }

写入文件时经常需要去除文件的只读属性

  1. System.IO.File.SetAttributes(strFileFullPath, System.IO.FileAttributes.Normal);

例如:

  1. if (File.Exists("D:\\test.txt"))
  2. {
  3. System.IO.File.SetAttributes("D:\\test.txt", System.IO.FileAttributes.Normal);
  4. }

文件指针

  1. FileStream::Seek(long offset, SeekOrigin origin);

FileMode

  1. CreateNew
  2. // 1.[可读][可写]
  3. // 2.文件不存在,则创建新文件
  4. // 文件已经存在则抛异常
  5. // 3.可移动文件指针
  6. Create
  7. // 1.[可读][可写]
  8. // 2.文件不存在,则创建新文件
  9. // 文件已经存在,则覆盖掉
  10. // 3.可移动文件指针
  11. Open
  12. // 1.[可读][可写]
  13. // 2.文件存在则打开
  14. // 文件不存在则抛异常
  15. // 3.可移动文件指针
  16. OpenOrCreate
  17. // 1.[可读][可写]
  18. // 2.文件存在则打开
  19. // 文件不存在则创建
  20. // 3.可移动文件指针
  21. Truncate
  22. // 1.[可写]
  23. // 2.文件存在则打开并清空文件内存
  24. // 文件不存在则抛异常
  25. // 3.可移动文件指针
  26. FileMode.Append
  27. // 1.[可写]
  28. // 2.文件存在则打开,并将文件指针移至文件末尾
  29. // 文件不存在则创建
  30. // 3.不可移动文件指针,否则会抛异常

FileStream读写文件的更多相关文章

  1. FileStream读写文件流

    用FileStream 读取文件流并显示给文件内容 string p = @"C:\Users\Administrator\Desktop\1.txt"; FileStream f ...

  2. [转载]FileStream读写文件

    FileStream读写文件 FileStream类:操作字节的,可以操作任何的文件 StreamReader类和StreamWriter类:操作字符的,只能操作文本文件. 1.FileStream类 ...

  3. FileStream读写文件【StreamWriter 和 StreamReader】

    FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能.这是因为FileStream类 ...

  4. C#读写文件总结

    1.使用FileStream读写文件   文件头:   using System; using System.Collections.Generic; using System.Text; using ...

  5. C# 之 读写文件

    1.使用 FileStream 读写文件 添加命名空间引用: using System; using System.Collections.Generic; using System.Text; us ...

  6. c# 高效读写文件

    一.同步读写文件(在并发情况下不会发生文件被占用异常) static void Main(string[] args) { Parallel.For(0, 10000, e => { strin ...

  7. C#常用IO流与读写文件

    .文件系统 ()文件系统类的介绍 文件操作类大都在System.IO命名空间里.FileSystemInfo类是任何文件系统类的基类:FileInfo与File表示文件系统中的文件:Directory ...

  8. c# 读写文件时文件正由另一进程使用,因此该进程无法访问该文件

    c# 读写文件时文件正由另一进程使用,因此该进程无法访问该文件,在IO处理上遇到了无法操作的问题. 文件"D:\log.txt"正由另一进程使用,因此该进程无法访问该文件. log ...

  9. 以流方式读写文件:文件菜单打开一个文件,文件内容显示在RichTexBox中,执行复制、剪切、粘贴后,通过文件菜单可以保存修改后的文件。

    MainWindow.xaml文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...

随机推荐

  1. 1-22-shell脚本基本应用-实验手册

    脚本应用思路 1. 确定命令操作(设计并执行任务) 2. 编写Shell脚本(组织任务过程) 3. 设置计划任务(控制时间,调用任务脚本) ------------------------------ ...

  2. php7.2版本+yii2会报错

    FastCGI sent in stderr: "PHP message: PHP Fatal error:  Cannot use 'Object' as class name as it ...

  3. js中页面加载完成后执行的几种方式及执行顺序

    1:使用jQuery的$(function){}; 2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式.两个是docu ...

  4. hdu 6113 度度熊的01世界(结构体的赋值问题)

    题目大意: 输入n*m的字符串矩形,判断里面的图形是1还是0,还是什么都不是 注意:结构体中放赋值函数,结构体仍旧能定义的写法 #include <iostream> #include&l ...

  5. 通过消费者和生产者的多线程程序,了解Java的wait()和notify()用法

    仓库类 public class Store { private int size = 0;//当前容量 private final int MAX = 10;//最大容量 //向仓库中增加货物 pu ...

  6. 原生js重写《锋利的JS》之 轮播效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. react 入门的好东西 可以做出一个完整的网站

    链接  (包含了antd 组件的使用) 安装依赖报错问题                            可能需要按顺序安装,  不能cnpm npm 混合安装,  参考这个package.js ...

  8. spring之httpclient doget请求

    /**     * @param url        请求地址     * @param jsonString 加密后的字符串     * @return     * @throws ClientP ...

  9. [置顶] 普通程序员如何入门AI

    毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶.智能家居项目的布道,人们已经意识到了AI就是下一个风口.当然,程序员是我见过对于新技术最敏感的一 ...

  10. ss-libev 源码解析udp篇 (1)

    shadowsocks-libev udp转发原理简介 ss_local作为一个sock5服务器,接收来自socks5客户端的数据包.在ss_local启动后,即创建一个udp socket,并bin ...