【c# – 如何对FileStream的File.Open进行单元测试】教程文章相关的互联网学习教程文章

c# – Filestream.Read的返回值是什么意思?如何以块的形式读取数据并进行处理?【代码】

我对C#很新,所以请耐心等待.我正在读取(使用FileStream)数据(固定大小)到小数组,处理数据然后再读取,依此类推到文件末尾. 我想过用这样的东西:byte[] data = new byte[30];int numBytesToRead = (int)fStream.Length;int offset = 0;//readingwhile (numBytesToRead > 0){fStream.Read(data, offset, 30);offset += 30;numBytesToRead -= 30;//do something with the data}但是我检查了文档及其示例,他们表示上述读取方法的返回值...

c# – 为什么FileStream不作为Streamwriter的参数写入文本文件?【代码】

在下面的代码中,当使用以下语句时,我能够将字符串’fullname’的内容写入指定目录中的文本文件:System.IO.File.WriteAllText(path,fullname);但是,如果我将字符串路径写入FileStream对象(指定了参数),然后将该FileStream对象作为参数传递给StreamWriter对象,则会创建该文件,但不会写入任何内容. 第一次尝试:注释掉System.IO.File.WriteAllText(path,fullname);并使用它上面的三条线.这将创建文件,但不会将任何内容写入文件. 第二...

c# – 异步FileStream读取的正确结构【代码】

我有一个自定义列表控件,显示带有图像缩略图的项目.每个列表项都给出了文件的完整路径,并使用FileStream.BeginRead异步读取它,并且在文件读取完成时需要使列表控件无效. 在任何时候,列表也可以清除项目并重新填充不同的项目.这会调用需要优雅处理文件流的每个项目的Dispose(它仍然可以处于异步读取的中间). 我将展示我正在使用的代码.我不确定在这样的情况下调用和锁定对象的正确用法,其中异步加载新文件的请求可能会在异步加载的同...

c# – 防止对FILESTREAM进行写操作?【代码】

在启用FILESTREAM的情况下运行SQL Server 2012.以具有只读权限的用户身份登录(db_datareader)我成功运行了以下代码.如storing files in sql server 2008 using the filestream option中所述获得filePath和transactionContext.using (var transaction = new TransactionScope()) {// filePath and transactionContext are obtained as described here:// https://stackoverflow.com/questions/6463343/storing-files-in-sql-server-...

c# – 为什么FileStream.Close()会挂起很长时间?【代码】

我正在使用FileStream(0.1 – 100 GBytes)创建一个非常大的文件:using (var strm = File.OpenWrite(Destination)) {while(someCondition) {bfr = GetBuffer();strm.Write(bfr.Data, 0, ChunkSizeInBytes);strm.Flush();ShowProgress();} }当我到达using语句的末尾时,该线程会挂起很长时间.我在循环之后放了一个strm.Close(),看起来这就是干扰点(文件关闭). (请注意每次写()后我刷新() 它为什么以及如何克服它?解决方法:我的评论...

c# – 尝试保存图像的编译错误.NET Core – 参数类型’System.IO.FileStream’的参数类型无法分配参数类型【代码】

[HttpPost]public async Task<IActionResult> Upload(string memberNumber, IFormFile file){var uploadsFolderPath = Path.Combine(_host.WebRootPath, "uploads");var fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);var filePath = Path.Combine(uploadsFolderPath, fileName);using (var stream = new FileStream(filePath, FileMode.Create)){// Here's the compilation errorawait file.CopyToAsync(stream)...

c# – 如何对FileStream的File.Open进行单元测试【代码】

首先,我熟悉单元测试模拟的概念,我正在根据TDD编写应用程序. 我有一个方法,我需要读取一个文件.读入文件:using (var webshopXmlFileStream = StreamFactory.Create(importFile)){// Opens a reader that will read the Xml file.using (var reader = XmlReader.Create(webshopXmlFileStream)){// Read the nodes "Node" and "ArticleGroup" recursively.var nodes = XmlReaderUtils.EnumerateAxis(reader, new[] { "Node", "Artic...

c# – 使用反应式编程写入打开FileStream【代码】

我正在编写一个小的记录器,我想打开一次日志文件,在日志消息到达时继续写入,并在程序终止时处理所有内容. 我不确定如何保持FileStream打开并在消息到达时反应性地写入消息. 我想从我之前的解决方案更新设计,其中我有一个ConcurrentQueue充当缓冲区,并且在使用队列的using语句中有一个循环. 具体来说,我想同时利用using语句构造,因此我不必显式关闭流和编写器,以及反应式无循环编程风格.目前我只知道如何同时使用这些结构之一:使用...

c# – FileStream.Seek与缓冲读取【代码】

在this answer的推动下,我想知道如果使用大量的FileStream.Seek(-1),幕后会发生什么. 为清楚起见,我将重新发布答案:using (var fs = File.OpenRead(filePath)) {fs.Seek(0, SeekOrigin.End);int newLines = 0;while (newLines < 3){fs.Seek(-1, SeekOrigin.Current);newLines += fs.ReadByte() == 13 ? 1 : 0; // look for \rfs.Seek(-1, SeekOrigin.Current);}byte[] data = new byte[fs.Length - fs.Position];fs.Read(data, 0,...

47.C#--使用FileStream文件流来实现多媒体文件的复制【代码】

static void Main(string[] args){//使用文件流来实现多媒体文件的复制//思路:先将要复制的多媒体文件读出来,然后再写入到指定位置//多媒体音乐源路径string source = @"C:\Users\Administrator.USER-20180925HC\Desktop\音乐.wav";//要复制多媒体音乐目标路径string target= @"C:\Users\Administrator.USER-20180925HC\Desktop\新建音乐.wav";//调用复制的方法,输入参数copyFile(source, target);Console.WriteLine("制成成功"...

单元测试 - 相关标签