数据流保存为文件 求代码

时间:2022-05-06 11:53:46
  我接收的就是一个stream的数据流 想存成文件 文件后缀已知 如何做 最好有代码 找了几个例子都是用byte数组写入到filestream里 想知道如何把stream直接写入成文件 谢谢

9 个解决方案

#1


  FileStream fs = new FileStream("d://test.txt",FileMode.CreateNew);
                MemoryStream ms = (MemoryStream)st;
                ms.WriteTo(fs);
                ms.Close();

我目前是这个样写的 有没有问题

#2


在ms.writeto后面,加上fs.flush();

#3


引用 1 楼 CaRrot_Love 的回复:
我目前是这个样写的 有没有问题

能用就行不能用就不行,本来就不是完整代码,看不出什么对错

#4


引用 3 楼 xdashewan 的回复:
Quote: 引用 1 楼 CaRrot_Love 的回复:

我目前是这个样写的 有没有问题

能用就行不能用就不行,本来就不是完整代码,看不出什么对错


  Stream st = Request.InputStream;
                FileStream fs = new FileStream("/test.txt",FileMode.CreateNew);
                MemoryStream ms = (MemoryStream)st;
                ms.WriteTo(fs);
                fs.Flush();
                ms.Close();

这就是完整代码 流肯定有数据 

#5


我现在可以生成文件了 但是文件里没有内容 是哪里的问题

#6


文件后缀用txt?别闹好吗
这明明应该是二进制文件
可以命名为.dat
避免不小心用记事本打开给改了就麻烦了

#7


引用 5 楼 CaRrot_Love 的回复:
我现在可以生成文件了 但是文件里没有内容 是哪里的问题

在位置Request.InputStream具体类型的情况下,把Stream强转子类MemoryStream有不妥吧,还是老实点都取byte再转安全可靠

#8


引用 6 楼 Z65443344 的回复:
文件后缀用txt?别闹好吗
这明明应该是二进制文件
可以命名为.dat
避免不小心用记事本打开给改了就麻烦了


那边传过来的是TXT文件 这么直接写入不可以么.. 应该如何写入文件

#9


   获取到数据了 虽然不知道对不对 - -
                FileStream fs = new FileStream(imagesurl2 + "test.txt",FileMode.OpenOrCreate);
                StreamWriter sw = new StreamWriter(fs);
                
              
                BinaryReader br = new BinaryReader(st);
                byte[] brs = br.ReadBytes(Convert.ToInt32(st.Length));
                MemoryStream ms = new MemoryStream(brs);
                ms.WriteTo(fs);
                fs.Flush();
                ms.Close();

看了很多例子都是用byte数组带入写的 抄了一下 现在是有数据了 别的以后再问 谢谢了 

#1


  FileStream fs = new FileStream("d://test.txt",FileMode.CreateNew);
                MemoryStream ms = (MemoryStream)st;
                ms.WriteTo(fs);
                ms.Close();

我目前是这个样写的 有没有问题

#2


在ms.writeto后面,加上fs.flush();

#3


引用 1 楼 CaRrot_Love 的回复:
我目前是这个样写的 有没有问题

能用就行不能用就不行,本来就不是完整代码,看不出什么对错

#4


引用 3 楼 xdashewan 的回复:
Quote: 引用 1 楼 CaRrot_Love 的回复:

我目前是这个样写的 有没有问题

能用就行不能用就不行,本来就不是完整代码,看不出什么对错


  Stream st = Request.InputStream;
                FileStream fs = new FileStream("/test.txt",FileMode.CreateNew);
                MemoryStream ms = (MemoryStream)st;
                ms.WriteTo(fs);
                fs.Flush();
                ms.Close();

这就是完整代码 流肯定有数据 

#5


我现在可以生成文件了 但是文件里没有内容 是哪里的问题

#6


文件后缀用txt?别闹好吗
这明明应该是二进制文件
可以命名为.dat
避免不小心用记事本打开给改了就麻烦了

#7


引用 5 楼 CaRrot_Love 的回复:
我现在可以生成文件了 但是文件里没有内容 是哪里的问题

在位置Request.InputStream具体类型的情况下,把Stream强转子类MemoryStream有不妥吧,还是老实点都取byte再转安全可靠

#8


引用 6 楼 Z65443344 的回复:
文件后缀用txt?别闹好吗
这明明应该是二进制文件
可以命名为.dat
避免不小心用记事本打开给改了就麻烦了


那边传过来的是TXT文件 这么直接写入不可以么.. 应该如何写入文件

#9


   获取到数据了 虽然不知道对不对 - -
                FileStream fs = new FileStream(imagesurl2 + "test.txt",FileMode.OpenOrCreate);
                StreamWriter sw = new StreamWriter(fs);
                
              
                BinaryReader br = new BinaryReader(st);
                byte[] brs = br.ReadBytes(Convert.ToInt32(st.Length));
                MemoryStream ms = new MemoryStream(brs);
                ms.WriteTo(fs);
                fs.Flush();
                ms.Close();

看了很多例子都是用byte数组带入写的 抄了一下 现在是有数据了 别的以后再问 谢谢了