文件流读写、大文件移动 FileStream StreamWriter

文件流读写

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace _09文件流
{
    class Program
    {
        static void Main(string[] args)
        {

            //string msg = "飞流直下三千尺";
            ////字符串转字节数组
            //byte[] buffer = System.Text.Encoding.UTF8.GetBytes(msg);

            ////字节数组转字符串

            //string str= System.Text.Encoding.UTF8.GetString(buffer);

            //把字符串写入到文件中,以流的方式写内容

            //using ( FileStream fs = new FileStream("1.txt", FileMode.Create, FileAccess.Write))
            //{
            //    string msg = "文能提笔控萝莉";
            //    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(msg);
            //    fs.Write(buffer, 0, buffer.Length);

            //}//Console.ReadKey();

            //fs.Close();//关闭流
            //fs.Flush();//清除缓冲区
            //fs.Dispose();//释放占用的资源 (这三个必须一起写,用using方式就不用这三个释放资源了)

            //以流的方式读数据

            using (FileStream fs = new FileStream("1.txt", FileMode.Open, FileAccess.Read))
            {
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, buffer.Length);
                string msg = System.Text.Encoding.UTF8.GetString(buffer);
                Console.WriteLine(msg);
            }
            Console.ReadKey();

        }
    }
}

大文件移动

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace _10大文件移动
{
    class Program
    {
        static void Main(string[] args)
        {
            //读的流
            using (FileStream fsRead=new FileStream(@"G:\视频\海盗.mkv",FileMode.Open, FileAccess.Read))
            {
                //写的流
                using (FileStream fsWrite=new FileStream(@"G:\电影\海盗.mkv", FileMode.Create, FileAccess.Write))
                {
                    //每次读取的大小是5M
                    byte[]buffer=new byte[1024*1024*5];
                    //实际(真正读取到的大小)
                   int r= fsRead.Read(buffer, 0, buffer.Length);
                   while (r>0)
                   {
                       //写入
                       fsWrite.Write(buffer, 0, r);
                       Console.WriteLine("**");
                       //再读取
                       r = fsRead.Read(buffer, 0, buffer.Length);
                   }
                }
            }
            Console.WriteLine("ok了");
            Console.ReadKey();
        }
    }
}

另一种方式的读写

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace _11另一种方式的读和写
{
    class Program
    {
        static void Main(string[] args)
        {

            #region 读取数据
            //using (StreamReader reader = new StreamReader("1.txt",Encoding.Default))
            //{
            //只读取了一行

            //string msg= reader.ReadLine();
            //string msg;
            //要循环读取
            //while ((msg=reader.ReadLine())!=null)
            //{
            //    Console.WriteLine(msg);
            //}
            //一直读取到流的末尾
            //  string msg= reader.ReadToEnd();
            // Console.WriteLine(msg);
            //while (!reader.EndOfStream)
            //{
            //    Console.WriteLine(reader.ReadLine());
            //}

            // }
            #endregion
            #region 写入数据

            //using (StreamWriter write=new StreamWriter("one.txt"))
            //{
            //    write.Write("原来这也可以啊");
            //}

            #endregion
           // Console.ReadKey();

        }
    }
}
时间: 2024-08-04 14:11:30

文件流读写、大文件移动 FileStream StreamWriter的相关文章

C#用流读写大文件

Code tells all: using System; using System.IO; namespace CSharpTest {     class Program     {         static void Main(string[] args)         {             FileStream fsRead = File.OpenRead(@"D:\test\in.txt");             FileStream fsWrite = Fi

C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器,它能够长期保留信息,能读能写,可以刷新重写,方便携带,因而得到广泛使用. 文件(file)是程序设计中一个重要的概念.所谓“文件”,一般指存储在外部介质上数据的集合.一批数据是以文件的形式存放在外部介质(如磁盘.光盘和U盘)上的.操 作系统是以文件为单位对数据进行管理的,也就是说,如果想找存在外部

word和excel在网页上显示,文件流,虚拟目录,文件上传

1.如何在网页上显示word和excel a.可以使用aspose将word 和excel 转换为pdf 然后在网页上打开pdf,但是效果不是很好.比如说excel 多个工作薄不是按exce 格式显示出来,宽度大小,不好控制(?). b.可以使用aspose将文档转换为html,但是转换为html 会产生额外的XML和CSS和图片文件.在文件流中不好读取(文件在本地里面). c.可以使用其他转换,比如http://www.cutepdf.com/(?),或者用文件流读取再转换(没试过),或者是w

Java-使用IO流对大文件进行分割和分割后的合并

有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是收到上传文件大小的限制,无法上传,这是我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件.分割后的每个小文件的类型可以自己定义. 一下是我编写的一个大文件的分割和合并的代码: package com.lym; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; impor

关于 Delphi 中流的使用(2) 用 TFileStream(文件流) 读写

TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:TFileStream: 文件流TStringStream: 字符串流TMemoryStream: 内存流TResourceStream: 资源文件流 THandleStream: 是 TFileStream 的父类.TStream 的子类TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类.TStream 的子类 与流相关的常用类还有:

pdf文件流生成pdf文件

protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Code.Login Starr_model = new Code.Login(); Code.InsuranceModel.InsuranceSegment_Result result = new InsuranceModel.InsuranceSegment_Result(); try { //判断接口请求是否成功 result = C

通过httpClient请求文件流(普通文件和压缩文件)示例

前言:通过浏览器请求文件流进行文件下载这里就不说了,网上有很多例子,这里主要是记录一下工作中的另一个场景,一个服务器通过HTTPClient向另一个服务请求文件流,在内存中进行业务逻辑处理,并不需要下载到本地,当然,如果你想要下载本地也是可以的,把文件流写到本地磁盘就可以了,也可以写到文件系统中.废话不多说. 一,服务器传输的是普通的文件流,没有经过压缩 服务器: @RequestMapping(value = "/getCommonFile", method = RequestMet

java读取 500M 以上文件,java读取大文件

java 读取txt,java读取大文件 设置缓存大小BUFFER_SIZE ,Config.tempdatafile是文件地址 来源博客http://yijianfengvip.blog.163.com/blog/static/175273432201191354043148/ package com.yjf.util;import java.io.File;import java.io.RandomAccessFile;import java.nio.MappedByteBuffer;imp

C++文件流类与文件流对象具体介绍

文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件流是由若干个文件组成的流.文件流本身不是文件,而只是以文件为输入输出对象的流.若要对磁盘文件输入输出,就必须通过文件流来实现. 在C++的I/O类库中定义了几种文件类,专门用于对磁盘文件的输入输出操作.在 图13.2(详情请查看:与C++输入输出有关的类和对象)中可以看到除了标准输入输出流类istr