题:
dotnet中的FileStream和StreamWriter有什么不同?
你应该用什么上下文?他们的优势和劣势是什么?
是否可以将这两者合二为一?
假设我正在写几个文件到磁盘,介于2MB和5GB之间.什么是FileStream的合理缓冲区值?
使用几兆字节的缓冲区是否合理,还是应该坚持使用千字节缓冲区?
我想要读取和写入文件.这不起作用.
static void Main(string[] args)
{
StreamReader sr = new StreamReader(@"C:\words.txt");
StreamWriter sw = new StreamWriter(@"C:\words.txt");
}
Run Code Online (Sandbox Code Playgroud)
我如何在C#中读取和写入文件?
只是一个简单的问题.我正在使用这样的东西
FileStream fs = new FileStream(fileName, FileMode.Create);
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个参数我可以传递给它以强制它创建文件夹,如果它不存在.如果找不到文件夹,则抛出异常.
如果有更好的方法,那么使用FileStream
我是开放的想法.
在序列化期间,我们可以使用内存流或文件流.
这两者之间的基本区别是什么?记忆流意味着什么?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serilization
{
class Program
{
static void Main(string[] args)
{
MemoryStream aStream = new MemoryStream();
BinaryFormatter aBinaryFormat = new BinaryFormatter();
aBinaryFormat.Serialize(aStream, person);
aStream.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个允许ASP.Net网站检索文件的WCF服务(基于本文).我的问题是,当我返回流时,它是空白的.
为简单起见,我已将代码分离为一个简单的winforms应用程序,以尝试查找返回流的问题,这是代码:
private Stream TestStream()
{
Stream fs = File.OpenRead(@"c:\testdocument.docx");
return fs;
}
// This method converts the filestream into a byte array so that when it is
// used in my ASP.Net project the file can be sent using response.Write
private void Test()
{
System.IO.MemoryStream data = new System.IO.MemoryStream();
System.IO.Stream str = TestStream();
str.CopyTo(data);
byte[] buf = new byte[data.Length];
data.Read(buf, 0, buf.Length);
}
Run Code Online (Sandbox Code Playgroud)
这段代码的结果buf
是12,587字节长(文件的正确长度),但它只包含0.
如果我尝试它,Word文档会打开没有问题,我错过了一些明显的东西吗?
我已经阅读了类似的帖子,但我无法弄清楚问题.
我更改了Windows权限并更改了路由.
当我尝试保存文件时,它会抛出异常:
访问路径****被拒绝.
string route="D:\\";
FileStream fs = new FileStream(route, FileMode.Create); <--here is the problem
StreamWriter write = new StreamWriter(fs);
patient person = new patient();
patient.name = textBox1.Text;
patient.name2 = textBox2.Text;
Run Code Online (Sandbox Code Playgroud) 我听说过流,更具体地说是文件流.
那他们是什么?
它是在记忆中有位置的东西吗?
它是包含数据的东西吗?
它只是文件和对象之间的连接吗?
任何帮助,将不胜感激
给定一个System.IO.FileStream
对象,我如何获得它提供访问权限的文件的原始路径?
例如,在MyStreamHandler()
下面的函数中,我想回到创建的文件的路径FileStream
:
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
FileStream fs = File.Create(path));
MyStreamHandler(fs);
MyOtherStreamHandler(fs);
fs.Close();
fs.Dispose();
}
private static void MyStreamHandler(FileStream fs)
{
// Get the originating path of 'fs'
}
private static void MyOtherStreamHandler(FileStream fs)
{
}
Run Code Online (Sandbox Code Playgroud) filestream ×10
c# ×8
c++ ×2
.net ×1
buffer ×1
file-io ×1
fstream ×1
memorystream ×1
path ×1
size ×1
stream ×1
streamwriter ×1