c#通过FileStream读取、写入文件

网上找过一些FileStream读取写入文件的代码,但是都有些小问题。

于是自己整理一下,以备不时之需。说明一下,以下代码我都运行过。

1.FileStream读取文件

// FileStream读取文件
public static string FileStreamReadFile(string filePath)
{
    byte[] data = new byte[100];
    char[] charData = new char[100];
    FileStream file = new FileStream(filePath, FileMode.Open);
    //文件指针指向0位置
    file.Seek(0, SeekOrigin.Begin);
    //读入两百个字节
    file.Read(data, 0, (int) file.Length);
    //提取字节数组
    Decoder dec = Encoding.UTF8.GetDecoder();
    dec.GetChars(data, 0, data.Length, charData, 0);
    return Convert.ToString(charData);
}

2.用FileStream写文件

// 用FileStream写文件
public static void FileStreamWriteFile(string filePath, string str)
{
    byte[] byData;
    char[] charData;
    try
    {
        FileStream nFile = new FileStream(filePath + "love.txt", FileMode.Create);
        //获得字符数组
        charData = str.ToCharArray();
        //初始化字节数组
        byData = new byte[charData.Length];
        //将字符数组转换为正确的字节格式
        Encoder enc = Encoding.UTF8.GetEncoder();
        enc.GetBytes(charData, 0, charData.Length, byData, 0, true);
        nFile.Seek(0, SeekOrigin.Begin);
        nFile.Write(byData, 0, byData.Length);
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

ps:忘记在哪里找到的代码了,就不写参考博客了??

时间: 2024-12-25 10:59:38

c#通过FileStream读取、写入文件的相关文章

读取/写入文件

读取文件: #直接读取 for line in open("d:\serverlist.txt"): print(line) #使用readline()方法读取 file = open('d:\serverlist.txt')line = file.readline()while line:print(line,end=‘’)file.close() #使用read()方法读取 f = open("d:\out.txt",'r')mm=f.read()f.close

pandas-19 DataFrame读取写入文件的方法

pandas-19 DataFrame读取写入文件的方法 DataFrame有非常丰富的IO方法,比如DataFrame读写csv文件excel文件等等,操作很简单.下面在代码中标记出来一些常用的读写操作方法,需要的时候查询一下该方法就可以了. df1.to_csv('df1.csv') # 默认会把 index 也当成一列写入到文件中 df1.to_csv('df2.csv', index=False) # 如果不想显示索引,可以添加第二个参数 index = False df1.to_jso

c文件二进制读取写入文件、c语言实现二进制(01)转化成txt格式文本、c读取文件名可变

c语言实现二进制(01)转化成txt格式文本: 下面的程序只能实现ascall对应字符转换,如果文件内出现中文字符,则会出现错误. 本程序要自己创建个文本格式的输入文件a1.txt,编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示,并存入输出文件a2.txt中.然后再将二进制文件还原并存入b2.txt文件. 参考链接:https://www.jb51.net/article/158695.htm 1 #include <cstdio> 2 #include <

python读取写入文件方法SringIO,BytesIO

python中不仅仅可以在磁盘中写入文件,还允许直接在内存中直接写入数据:需要借助StringIO和BytesIO来实现: 1.直接操作StringIO from io import StringIO #载入对象 f=StringIO() #创建变量指向对象 f.write('hello,') #写入数据 f.write(' ') f.write('world.') print(f.getvalue()) #依次打印获得的数据 getvalue()的方法用于获取写入的str 2.初始化Strin

Node.js——fs模块(文件系统),创建、删除目录(文件),读取写入文件流

1 /* 2 1. fs.stat 检测是文件还是目录(目录 文件是否存在) 3 2. fs.mkdir 创建目录 (创建之前先判断是否存在) 4 3. fs.writeFile 写入文件(文件不存在就创建,但不能创建目录) 5 4. fs.appendFile 写入追加文件 6 5. fs.readFile 读取文件 7 6. fs.readdir 读取目录 8 7. fs.rename 重命名 9 8. fs.rmdir 删除目录 10 9. fs.unlink 删除文件 11 */ 12

关于FileStream读取大文件问题

小的文本文件(100M以下)直接用File类的ReadAllText()和WriteAllText()方法 这两个方法内部其实就是封装了StreamReader类的ReadToEnd()和StreamWriter类的WriteToEnd(), 这两个方法的返回值都是string类型,所以只能读写文本文件 小的文本文件的单行读写用StreamReader和StreamWriter这两个类 小的非文本文件用File类的ReadAllBytes()和WriteAllBytes()读写,并用byte[]

filestream 读取视频文件

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 string source = @"F:\361\android studio\4.0\亲情奉献-全套精品.Net基础班视频教程-video\亲情奉献全套精品.Net基础视频教程之10-面向对象多态\(第十二天)\video/13.模拟移动硬盘.U盘.MP3.avi"; 6 string target = @"C:\Users\dell-\Desktop/n

C#读取和写入文件

一.读取文件 如果你要读取的文件内容不是很多, 可以使用 File.ReadAllText(FilePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding)的方法. 它们都一次将文本内容全部读完,并返回一个包含全部文本内容的字符串 string str = File.ReadAllText(@"c:\temp\ascii.txt"); //也可以指定编码方式  string str2 = File.ReadAllText(@"c:\

C# Byte[]数组读取和写入文件

protected void ByteToString_Click(object sender, EventArgs e) { string content = this.txtContent.Text.ToString(); if (string.IsNullOrEmpty(content)) { return; } //string 转为byte数组 byte[] array = Encoding.UTF8.GetBytes(content); //将byte数组转为string strin