文件读取(filestream)

在stream中已经介绍过,文件读取应用filestream,其是以字节为单位读取文件的。在操作中,当应用filestream创建文件流,读取时应先定义一个字节数组,在转化成char类型,最后转化成string类型。我们其实可以通过streamreader/writer类来直接读取字符串。在此简单介绍一下,流的读取方式除了创建流类中自定义的read/write方法(通过byte类型进行),也可以通过其他读取类进行读取。streamreader/writer类,binaryread/write以及stringreader/writer均继承自textreader/writer抽象类,binaryreader/writer可以直接读取int,double,bool等数据类型,StreamReader/writer可直接读取字符串。

本例以filestream建立文件流,并通过StreamReader/writer进行读写。

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

namespace FilestreamandStreamreader
{
    class Program
    {
        static void Main(string[] args)
        {
            string filePathName = "E:\\test.txt";

            using (FileStream fs = new FileStream(filePathName, FileMode.Create, FileAccess.Write))
            {
                StreamWriter sw = new StreamWriter(fs);
                sw.Write("LIU");
                sw.WriteLine("Ljksdjfjk");
                sw.WriteLine("chengjisih");
                sw.Flush();
            }

            using (FileStream fs = new FileStream(filePathName, FileMode.Open, FileAccess.Read))
            {
                StreamReader sr = new StreamReader(fs);
                string str = sr.ReadToEnd();
                Console.WriteLine(str);
                fs.Position = 0;//每次重新调用时,fs位置归零
                Console.WriteLine(sr.ReadLine());

                //fs.Position = 0;
                //char[] chars = new char[10];
                //sr.Read(chars, 0, 10);
                //for (int i = 0; i < chars.Length; i++)
                //{
                //    Console.WriteLine(chars[i]);
                //}

                fs.Close();
                Console.ReadKey();
            }

        }
    }
}

streamreader其构造函数重载很多,可以满足不同的需求,只要是构造函数的入口参数为流都可以用它来读取,比如httpwebreponse等的返回值等,上例中

StreamReader sr = new StreamReader(fs)语句,入口参数可以直接为路径,也可以为
StreamReader sr = new StreamReader(File。Create(。。。。));继承自textreader/writer的三个派生类其实就是一个流的三种读取器,离开这三个类,用建立流对象的自身的write/read方法依旧可以。

以上为对流概念的基本理解
时间: 2024-10-27 08:36:31

文件读取(filestream)的相关文章

CSV文件读取,解决汉字乱码

public String getDeptOuId(String openId) throws IOException { String deptId = ""; // 存储信息的文件的绝对路径  String csvPath = FileUtil.getWorkingPath()  .resolve(ConfigUtil.getConfig().get("idmappings")).toString(); System.out.print(csvPath); //

练习:WinForm 对话框控件(文件读取、写入)

设计界面: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Text; namespace 对话框

C# 文件操作 把文件读取到字节数组

string  zipfile = "c:\\a.zip";                            //方法1                            FileStream fs = new FileStream(zipfile, FileMode.Open);                            //把文件读取到字节数组                            byte[] zipdata = new byte[fs.Le

文件流FileStream

FileStream对象表示在磁盘或网络路径上指向文件的流 使用 FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作 FileStream 对输入输出进行缓冲,从而提高性能 为什么不用File.ReadAllText()? 好处之一就是:对于大文件来说,FileStream可以对文件采取分段读取,即每次只读取一部分到内存. using System; using System.Collections.Generic; using System.ComponentModel;

C# 文件流 FileStream

  使用FileStream 好处 对内存影响小 读取数据 FileStrame fsRead = new FileStrame(@"C:\a.txt", FileMode.OpenOrCreate, FileAccess.Read);byte[] buffer = new byte[1024*1024*5];//最多读取的大小//返回本次实际读取到的有效字节数int t = fsRaad.Read(buffer, 0 , buffer.Length); //将字节数组中的每一个元素按

java文件读取

java文件读取 刚开始用java,作为之前C语言的重度使用者,发现以前熟悉的文件读取file.read()在java.io.File类里找不到了.替代之的是java.io.InputStream, InputStream为一个I/O操作的抽象类,其中FileInputStream:read实现了读取文件的方法 File f = new File(fileName); InputStream in = new FileInputStream(f); byte data[] = new byte[

html外部文件读取/写入

1.文件的读取 外部文件读取控件: <input type="file" id="file_jquery" onchange="file_jquery(this.id)"/> 调用函数: function file_jquery(id){ var a = $("#"+id); var selectedFile = $("#"+id)[0].files[0]; console.log(a); co

字符串,字典,数组写入本地文件和从本地文件读取

参考:http://blog.csdn.net/hakusan/article/details/39429393?utm_source=tuicool&utm_medium=referral 一.字符串,字典,数组存储到本地文件 字符串,数组,字典存储到本地文件过程一样,只是要存储的数据类型不同而已,这里以字符串存储到本地文件为例,如下:    NSString *content = @"将字符串存储到本地文件";    (1)获取Documents文件夹路径 参数:(1)指定

【学习ios之路:UI系列】iOS沙盒机制,文件读取,归档与反归档

1.IOS中的沙盒机制 IOS中的沙盒机制是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 特点: 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.如下图