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 ...
随机推荐
- Spring:DataSource注入到dao
Spring:DataSource注入到dao 使用DOS命令创建数据库(Mysql) CREATE DATABASE book DEFAULT CHARACTER SET utf8; CREATE ...
- Eclipse规范注释及注释文档的生成
Eclipse作为JavaIDE(Integrated Development Environment,集成开发环境),可以通过设置自动添加Javadoc注释信息,如@author 作者名.@vers ...
- Dom编程优化
对Dom的访问代价是昂贵,在富网页应用中通常是性能的瓶颈,所以对Dom的优化十分重要. 一.访问和修改Dom元素 浏览器通常要求JavaScript和Dom实现保持独立的.例如,在Internet E ...
- 解析Spring第四天(Spring中的事物、Spring框架来管理模板类)
JDBC模板技术: Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单 template 模板 都是Spring框架提供XxxTemplate 提供了JDBC模板,Sp ...
- Spring容器对Bean组件的管理
Bean对象创建 默认是随着容器创建 可以使用 lazy-init=true:在调用 getBean 延迟创建 也可以用 <beans default-lazy-init="true& ...
- JavaWeb学习篇之----web应用的虚拟目录映射和主机搭建(Tomcat)
从今天开始来学习JavaWeb的相关知识,之前弄过一段时间JavaWeb的,就是在做毕业设计的时候搞过,但是那时候完全是为了任务去学习,所以效果不好,好多东西都没有深入的研究过,所以接下来的一段时间我 ...
- NX二次开发-UFUN重命名工程图UF_DRAW_rename_drawing
NX9+VS2012 #include <uf.h> #include <uf_draw.h> #include <uf_part.h> UF_initialize ...
- linux基本命令vim
拷贝当前行 yy,拷贝当前行向下的5行 5yy, 并粘贴(p). 删除当前航 dd,删除当前行向下的5行 5dd. 在文件中查找某个单词[命令行下/关键字,回车查找, 输入n 就是查找下一个] 查 ...
- MFC-按行读取TXT数据
TXT中数据格式如下: 1 23 4 0 4 10 …… 要实现的功能是:定义一个函数,每次调用时从TXT文档中读一个整数 ,赋值给变量.同时,文件位置向下移动一行,以便下次调用时读取下一行的数据. ...
- USACO 2003 Fall Orange Popular Cows /// tarjan缩点 oj22833
题目大意: n头牛,m个崇拜关系,并且崇拜具有传递性 如果a崇拜b,b崇拜c,则a崇拜c 求最后有几头牛被所有牛崇拜 强连通分量内任意两点都能互达 所以只要强联通分量内有一点是 那么其它点也都会是 按 ...