C# 文件流相关操作

二进制转换成图片:

 MemoryStream ms = new MemoryStream(bytes);
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
this.pictureBox1.Image

C#中byte[]与string的转换代码:

System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();
  byte[] inputBytes =converter.GetBytes(inputString);
  string inputString = converter.GetString(inputBytes);

string inputString = System.Convert.ToBase64String(inputBytes);
  byte[] inputBytes = System.Convert.FromBase64String(inputString);
FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

C# Stream 和 byte[] 之间的转换:

public byte[] StreamToBytes(Stream stream)
{
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);
    return bytes;
}

将 byte[] 转成 Stream:

public Stream BytesToStream(byte[] bytes)
{
    Stream stream = new MemoryStream(bytes);
    return stream;
}

将 Stream 写入文件:

public void StreamToFile(Stream stream,string fileName)
{
    // 把 Stream 转换成 byte[]
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);
    // 把 byte[] 写入文件
    FileStream fs = new FileStream(fileName, FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(bytes);
    bw.Close();
    fs.Close();
}

从文件读取 Stream:

public Stream FileToStream(string fileName)
{
    // 打开文件
    FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
    // 读取文件的 byte[]
    byte[] bytes = new byte[fileStream.Length];
    fileStream.Read(bytes, 0, bytes.Length);
    fileStream.Close();
    // 把 byte[] 转换成 Stream
    Stream stream = new MemoryStream(bytes);
    return stream;
}

转自:http://www.cnblogs.com/Mr_JinRui/archive/2010/07/05/1771184.html

时间: 2024-11-11 16:55:32

C# 文件流相关操作的相关文章

关于C#资源文件的相关操作

关于资源文件的相关操作. //1.比较常见的有获取资源文件对应的文件流,然后转换到相对应的文件 //比较典型的做法是通过代码程序集加载指定资源 //如下通过Assembly的静态方法GetExecutingAssembly()得到程序集 //还有很多方式可以得到代码程序集 System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); Stream manifestResourceStream

文件的相关操作

文件的相关操作 有些时候,需要对文件进行重命名.删除等一些操作,python的os模块中都有这么功能 1. 文件重命名 os模块中的rename()可以完成对文件的重命名操作 rename(需要修改的文件名, 新的文件名) import os os.rename("毕业论文.txt", "毕业论文-最终版.txt") 2. 删除文件 os模块中的remove()可以完成对文件的删除操作 remove(待删除的文件名) import os os.remove(&quo

C语言(七)文件的相关操作

转载请标明出处: http://blog.csdn.net/u011974987/article/details/52354074 C语言文件的打开与关闭 在C语言中,文件操作都是由库函数来完成的,我们就来总结文件的相关的操作. 文件的打开(fopen函数) fopen() 函数用来打开一个文件,它的格式为: FILE *fopen(char *filename, char *type); filename为文件名(包括文件路径),type为打开方式,它们都是字符串.fopen() 会获取文件信

html,图片上传预览,input file获取文件等相关操作

input file常用方法: var obj=document.getElementById("upimage"); var file=obj.files[0];//获取文件数据 var path=obj.value;//获取文件当前路径 var size=obj.files[0].size;//获取文件大小 var prefix=path.substring( path.lastIndexOf('\\')+1 );//获取文件名的前缀名(文件格式) var suffix=path.

java对XML文件的相关操作(dom4j)

1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <Person university="SCAU" location="GuangZhou"> 4 <student> 5 <name>tester1</name> 6 </student> 7 <student> 8 <name/>teste

用 JSP 实现对文件的相关操作

前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解高深的理论. 我不喜欢读死书,死读书,特别喜欢边看书,边敲代码,屡败屡战才是王道. 下面直接上干货吧,提供超详细代码及结果展示,欢迎大家与我交流! 如何建工程.文件我就不在这里多说了,相信大家都在前面的分享里学会了,我们直接进入本次学习成果的核心代码部分. 首先可以先放一个整体的界面,就像做一个目录

python字符串、list列表、字典、文件的相关操作

1.布尔类型 字符串 常用的操作方法 .count() .find() .join() .encode() .decode()#这个是bytes类型才有的 .endswith('.txt')#字符串是否以xx结尾 startswith('A')#字符串是否以xx开头 .isdigit() .strip() .replac('xx','') .split(',')#以xx来分割字符串,返回的是一个list .splitlines()#以换行符来分割字符串,返回的是一个list 2.list 列表

文件流的操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace Command { public class FilesOperations { public List<string> GetFilesByExtension(string Extension) { Direc

PHP 文件的相关操作

转换字节大小 /** * 转换字节大小 * @param number $size * @return string */ function transByte($size,$dec=2) { //Byte,KB,MB,GB,TB,EB $arr=array('B','KB','MB','GB','TB','EB'); $i=0; while($size>=1024){ $size=$size/1024; $i++; } return round($size,$dec).$arr[$i]; }