c#读取并异步写入文件,简单版,指定编码,保持原格式。
1、同步读取和写入
            StreamReader objReader = new StreamReader("E://workspace//zzz//read.txt", Encoding.GetEncoding("utf-8"));
            string sLine = "";
            ArrayList LineList = new ArrayList();
            while (sLine != null)
            {
                sLine = objReader.ReadLine();
                if (sLine != null && !sLine.Equals(""))
                    LineList.Add(sLine);
            }
            objReader.Close();
            string str = "";
            foreach (var item in LineList)
            {
                str += item + Environment.NewLine;
            }
            string filePath = "E://workspace//zzz//" + DateTime.Now.Millisecond + ".txt";
            FileStream fs = new FileStream(filePath, FileMode.Create);
            StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding("utf-8"));
            //开始写入
            sw.Write(str);
            //清空缓冲区
            sw.Flush();
            //关闭流
            sw.Close();
            fs.Close();
 
2、异步写入
/// <summary>
/// 异步将xml内容写入文件
/// </summary>
/// <param name="str"></param>
/// <param name="encoding"></param>
public static void XmlToFile(string str, string fileName, string encoding)
{
string filePath = "E://workspace_VS//zzz//" + fileName + DateTime.Now + ".xml";
byte[] bytes = Encoding.GetEncoding(encoding).GetBytes(str.ToString());
FileStream writer = new FileStream(filePath, FileMode.Create, FileAccess.Write);
writer.BeginWrite(bytes, , str.Length, new AsyncCallback(endWrite), writer);
}
/// <summary>
/// 结束异步写入
/// </summary>
/// <param name="asr"></param>
private static void endWrite(IAsyncResult asr)
{
using (Stream str = (Stream)asr.AsyncState)
{
str.EndWrite(asr);
}
}
c#读取并异步写入文件,简单版,指定编码,保持原格式。的更多相关文章
- 15.swoole学习笔记--异步写入文件
		
<?php //异步写入文件 $content="hello world"; swoole_async_writefile('2.txt',$content,function ...
 - IO文件的读取,以及写入文件内容
		
package zxc; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.Fi ...
 - sublime python3中读取和写入文件时如何解决编码问题
		
# -*- coding: utf-8 -*- #分析用户身份审核信息 #python 3.5 #xiaodeng #http://apistore.baidu.com/apiworks/servic ...
 - PHP fsockopen 异步写入文件
		
b.php <?php $url = 'http://fsc.com/a.php'; $param = array( 'name'=>'fdipzone', 'gender'=>'m ...
 - Java文件读写操作指定编码方式防乱码
		
读文件:BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Re ...
 - Kafka消费者 从Kafka中读取数据并写入文件
		
Kafka消费者 从Kafka中读取数据 最近有需求要从kafak上消费读取实时数据,并将数据中的key输出到文件中,用于发布端的原始点进行比对,以此来确定是否传输过程中有遗漏数据. 不废话,直接上代 ...
 - 爬虫 写入文件时遇到gbk编码错误
		
#获取视频地址 # 每次请求一次,然后写文件,这样可以规避多次请求触发反爬虫 r = requests.get('https://www.pearvideo.com/video_1522192') h ...
 - Java文件读写操作指定编码方式。。。。。
		
读: File file=new File(this.filePath);BufferedReader br=new BufferedReader(new InputStreamReader(new ...
 - c++读取文件操作和写入文件
		
在C++中与读取文件和写入文件简单操作有关的类分别有ifstream(文件读入).ofstream(文件写出).fstream (文件读入和写出). 名称 作用 ifstream 文件读入 ofstr ...
 
随机推荐
- C/C++中的return和exit
			
return:只是退出函数; ~是关键字. exit:是退出进程; ~是函数名. 整理自:https://www.cnblogs.com/cxchanpin/p/6927025.html
 - this.$router.push
			
跳转详情页this.$router.push({ path: `/activityDetails/${id}` })
 - QT 环境变量配置
			
//注意每个人的习惯不一样 在系统变量中新建: { QT = C:\Qt\Qt5.13.1\5.13.1 QT_TOOL = C:\Qt\Qt5.13.1\Tools } 然后在path 中加入 { ...
 - Perl 循环
			
Perl 循环 有的时候,我们可能需要多次执行同一块代码.一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推. 编程语言提供了更为复杂执行路径的多种控制结构. 循环语 ...
 - c++中创建二维数组的几种方法
			
一.用new申请内存空间 int **dp=new int*[n];//动态申请二维数组nxm ;i<n;++i){ dp[i]=new int[m]; } 二.用malloc申请内存空间 ; ...
 - 23 Pro/E二次开发中的问题记录
			
0 引言 由于项目中涉及到Pro/E的二次开发技术,因此在边用边学的情况下,解决了不少问题,也积攒了不少问题.其中有些问题可能不是调个函数就能搞定的,得了解CAD底层的东西. 1 问题描述 (1)CA ...
 - 移动Windows开始按钮到任务栏中的任何位置
			
uses CommCtrl; procedure TForm1.Button1Click(Sender: TObject); var vHandle: THandle; vCount: Integer ...
 - favicon.ico请求处理
			
favicon.ico 图标用于收藏夹图标和浏览器标签上的显示,如果不设置,浏览器会请求网站根目录的这个图标,如果网站根目录也没有这图标会产生 404. 出于优化的考虑,要么就有这个图标,要么就禁止产 ...
 - 2018-06-05(thinking in java)
			
1:类只能有2种访问权限,一种是不写访问权限:默认包访问权限,另一种是public.且类只能有一个pubic 2:方法有4种访问权限,pubic(都可以访问),protexted(继承访问权限),pr ...
 - Unity NGUI 粒子的排序
			
Unity NGUI系统中是没有对粒子进行排序的,如: 怎么解决这个问题呢? 思路是把粒子的渲染层级,相对于UI组件的层级进行一个偏移. 解决后的效果如下: 代码如下: using System.Co ...