class FileHelper
{ /// <summary>
/// 检验文件路径是否合法
/// </summary>
/// <param name="path">文件路径</param>
private static bool CheckPath(string path)
{
//正确格式:C:\Users\jcx\Desktop\Test.txt
string pattern = @"\w{1}:([\\].+)*.+\.\w{3,}";
Regex rg = new Regex(pattern);
return rg.IsMatch(path);
} /// <summary>
/// 创建一个新的文本文件
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="content">写入到文本的内容</param>
public static void CreateNewTxtFile(string path,string content)
{
if (!CheckPath(path))
{
throw new Exception("文件路径不合法");
}
//存在则删除
if (File.Exists(path))
{
File.Delete(path);
} using (FileStream fs=new FileStream (path,FileMode.CreateNew,FileAccess.Write))
{
byte[] bt = Encoding.Default.GetBytes(content);
fs.Write(bt,,bt.Length); } //using
} /// <summary>
/// 读取文本文件
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="readByte">指定每次读取字节数</param>
/// <returns>读取的全部文本内容</returns>
public static string ReadTxtFile(string path,long readByte)
{
if (!CheckPath(path))
{
throw new Exception("文件路径不合法");
} StringBuilder result = new StringBuilder();
using (FileStream fs=new FileStream (path,FileMode.Open,FileAccess.Read))
{
byte[] bt = new byte[readByte]; while (fs.Read(bt,,bt.Length)>) //每次只从文件中读取部分字节数,一点点读
{
string txt = Encoding.Default.GetString(bt); //解码转换成字符串
result.AppendLine(txt);
} } //using
return result.ToString(); } } class Program
{
static void Main(string[] args)
{ string path = @"C:\Users\jcx\Desktop\Test.txt"; FileHelper.CreateNewTxtFile(path, "好好努力");
string r = FileHelper.ReadTxtFile(path,); //2个字节为一个汉字,一个汉字一个汉字的读
Console.WriteLine(r); } // Main }

FileStream对文本进行读写操作的更多相关文章

  1. python中文本的读写操作

    文本的操作 函数的排序操作: def func(i): return i[2] list=[('曹操',101,'c'),('吕布',100,'d'),('刘备',200,'l'),('大乔',50, ...

  2. C++对txt文本进行读写操作

    输入输出,是每个程序员的基本功,尤其是对文本的输入和输出.最近,自己在这方面做了一些总结,不是很全面,希望在以后学习和工作的过程中慢慢补充,积累点点滴滴.P.S. 今天天气不错,雾霾散了,天空晴朗,惠 ...

  3. Python_文本的读写操作

    [需求] 1. 获取文本内容,提取内容中的可用信息,对信息进行清洗等一系列处理 2. 算法输出一些内容,保存到文本文件中,便于使用 [函数] 在Python中open()函数是用来打开文件的,包括文本 ...

  4. 【PyQt5-Qt Designer】文本框读写操作

    主要内容: 1.读.写 输入控件(Input Widgets)中的内容(str) 2.保存数据到txt文件 3.从txt文件中读内容,与输入控件中内容比较 将上述各种输入控件(Input Widget ...

  5. C# System.IO和对文件的读写操作

      System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...

  6. JAVASE02-Unit08: 文本数据IO操作 、 异常处理

    Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...

  7. JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作

    基本IO操作 . 文本数据IO操作 java标准IO(input/output)操作 package day07; import java.io.FileOutputStream; import ja ...

  8. 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)

    算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...

  9. io流对文件读写操作

    public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedRead ...

随机推荐

  1. IDEA里运行程序时出现Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.2:compile(default) on Project DataFusion:wrap:org.apache.commons...错误的解决办法(图文详解)

    不多说,直接上干货! 问题详情 比如我们习惯在IDEA里打包用mvn clean package 在Scala IDEA for eclipse里出现mvn clean compile assembl ...

  2. solr 7.6 安装部署与遇到的问题

    目录 安装 solr 配置solr 到tomcat(关键) 配置依赖包 创建tomcat solr 的 classes 文件 创建 solr 的core 的主目录(也就是存放core的位置) 修改配置 ...

  3. [心平气和读经典]The TCP/IP Guide(005)

    The TCP/IP Guide[Page 47, 48, 49] I created The TCP/IP Guide to provide you with an unparalleled bre ...

  4. 第一章 面向对象软件工程与UML

    这个OOAD讲的都是很抽象的东西!老师说这个在现在的学习中用到的不是很多,但是以后出去工作的时候就会常用到的. 首先来了解OOAD是讲什么的. OOAD:Object Oriented Analysi ...

  5. redis实战笔记(9)-第9章 降低内存占用

    本章主要内容   1.短结构( short structure) 2.分片结构( shared structure) 3.打包存储二进制位和字节   本章将介绍3种非常有价值的降低Redis内存占用的 ...

  6. 为 Nginx 创建 windows 服务自启动

    1.下载最新版的 Windows Service Wrapper 程序 下载地址:http://download.java.net/maven/2/com/sun/winsw/winsw/1.9/ 2 ...

  7. MVC中页面传值方式总结

    MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一.Controller----------->View(控制器传到视图) 1.View ...

  8. 使用docker-compose 部署服务 上

    转自:https://www.cnblogs.com/neptunemoon/p/6512121.html 使用docker-compose 大杀器来部署服务 上 使用docker-compose 大 ...

  9. WCF中的异常

       一.考虑到安全因素,为了避免将服务端的异常发送给客户端.默认情况下,服务端出现异常会对异常屏蔽处理后,再发送到客户端.所以客户端捕捉到的异常都是同一个FaultException异常. 例如在服 ...

  10. rabbitmq不同模式的交换机使用

    交换机的功能主要是接收消息并且转发到绑定的队列,交换机不存储消息,在启用ack模式后,交换机找不到队列会返回错误.交换机有四种类型:Direct, topic, Headers and Fanout( ...