C# IO流的操作(一)
C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//将文件内容读到流中
Stream stream = File.Open("test.txt", FileMode.OpenOrCreate); //初始化一个字节数组
byte[] bytes = new byte[(int)stream.Length]; //将流读到字节数组中
stream.Read(bytes, , bytes.Length); //用MemoryStream接收
MemoryStream ms = new MemoryStream(bytes); //从开始处设置
ms.Seek(, SeekOrigin.Begin); //再把返回的MemoryStream 写到另一个文件中去
ms.WriteTo(new FileStream("newFile.txt", FileMode.OpenOrCreate));
}
}
}
Stream是一个抽象类,而MemoryStream和FileStream都是Sream的子类。
而下面这个例子则演示了异步读取txt文本内容的方法。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetTxt().Result);
} /// <summary>
/// 异步读取txt文本内容
/// </summary>
/// <returns></returns>
public static async Task<string> GetTxt()
{
using (Stream stream = File.Open("test.txt", FileMode.OpenOrCreate))
{
using (StreamReader sr = new StreamReader(stream, Encoding.Default))
{
return await sr.ReadToEndAsync();
}
}
}
}
}
关于IO更多的类以及操作请参考:https://msdn.microsoft.com/zh-cn/library/system.io(v=vs.110).aspx。
C# IO流的操作(一)的更多相关文章
- C# IO流的操作
C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作. namespace ConsoleApplication1 { class P ...
- Java---IO加强(3)-IO流的操作规律
一般写关于操作文件的读取的几个通用步骤!!! 1.明确源和目的. 源:InputStream Reader 一定是被读取的. 目的:OutputStream Writer 一定是被写入的. 2.处理的 ...
- Java API —— IO流(数据操作流 & 内存操作流 & 打印流 & 标准输入输出流 & 随机访问流 & 合并流 & 序列化流 & Properties & NIO)
1.操作基本数据类型的流 1) 操作基本数据类型 · DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出 ...
- Java文件IO流的操作总结
Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...
- IO流常规操作
IO流 IO就是输入输出,IO设备在计算机中起着举足轻重的作用,IO流也就是输入输出流,用来交互数据,程序和程序交互,程序也可以和网络等媒介交互. 一.IO流的分类 要分类,肯定得站得不同角度来看这个 ...
- IO流的操作规律
输入流和输出流相对于内存设备而言. 将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出. 字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.在 ...
- 在c#中IO流读写操作
1.使用FileStream读写文件 文件头: using System;using System.Collections.Generic;using System.Text;using System ...
- 对IO流的操作(文件大小,拷贝,移动,删除)
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.Fi ...
- java中IO流的操作
读取转换流--读取键盘录入中键盘录入一行数据并打印其大写,发现就是读一行数据的原理.也就是readLine方法.能不能直接使用readLine方法来完成键盘录入一行数据的读取呢?readLine方法是 ...
随机推荐
- Android使用genymotion模拟器
做android开发这么久了,最头痛的就是默认的模拟器慢的像蜗牛一样,实在是受够了.以前知道有genymotion存在,但是一直没有去用,今天下来用了下,哇,速度超快啊,还在用默认模拟器的小伙伴快来吧 ...
- 【Ubuntu】/etc/profile
export JAVA_HOME=/home/hp/programmefiles/jdk1.8.0_73/export PATH=$JAVA_HOME/bin:$PATHexport SCALA_HO ...
- ./configure、make、make install 命令
https://www.cnblogs.com/tinywan/p/7230039.html https://www.sohu.com/a/191735643_505857 ./configure 该 ...
- Java动态代理和静态代理区别
静态代理 package staticproxy; /** * 接口 * @author newtouch * */ public interface IHello { public void say ...
- docker dockerfile构建自己的tomcat镜像
文件 1.apache-tomcat-8.5.24.tar.gz, jdk-8u151-linux-x64.tar.gz Dockerfile文件: FROM centosWORKDIR /usrCO ...
- [scala] scala 对象(六)
1.单例对象和伴生对象 2.定义单利对象的apply方法可不通过构造器直接创建对象 3.extends 来扩展单例对象 4.枚举实现 /** * 单例对象 * * @author xuejz * @d ...
- ASP.NET用DataSet导出到Excel
//读取临时文件 GYYW.DA.Common.Base_SqlDataBase daBZDM = new GYYW.DA.Common.Base_SqlDataBase(); DataS ...
- _DataStructure_C_Impl:图的邻接矩阵存储
//_DataStructure_C_Impl:邻接矩阵 #include<stdio.h> #include<stdlib.h> #include<string.h&g ...
- Redis 入门指令
-- -- string SET key value GET key GETRANGE key start end GETSET key value GETBIT key offset MGET ke ...
- MySQL存储过程的异常处理
阅读目录:存储过程的异常处理 定义异常处理 单一异常处理程序 continue exit 多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理 异常处理的命名 异常 ...