草庐IT

filestreams

全部标签

c# - 在 C# 中将 Stream 转换为 FileStream

使用C#将Stream转换为FileStream的最佳方法是什么。我正在处理的函数有一个包含上传数据的Stream传递给它,我需要能够执行stream.Read()、stream.Seek()方法,这些方法都是FileStream类型的方法。简单的类型转换不起作用,所以我在这里寻求帮助。 最佳答案 Read和Seek是Stream类型的方法,而不仅仅是FileStream。只是不是每个流都支持它们。(我个人更喜欢使用Positionproperty而不是调用Seek,但它们归结为同一件事。)如果您更喜欢将数据保存在内存中而不是将其转

c# - fileStream.CopyTo(memoryStream)后,memoryStream为null

所以,我有获取BitmapImage的函数,我需要将它保存到iso存储并转换为Base64(用于发送到服务器)。但是,从fileStream复制到memoryStream不成功。publicvoidSetImage(BitmapImagebitmap){if(isoFiles.FileExists(Settings.FILE_AVATAR_JPG))isoFiles.DeleteFile(Settings.FILE_AVATAR_JPG);varfileStream=isoFiles.CreateFile(Settings.FILE_AVATAR_JPG);varwb=newWrite

c# - 带有锁定文件的 FileStream

我想知道是否有可能将只读FileStream获取到锁定文件?现在,当我尝试读取锁定的文件时出现异常。using(FileStreamstream=newFileStream("path",FileMode.Open))谢谢! 最佳答案 您应该尝试另一个构造函数。它们记录在MSDN中。这个看起来像一个赌注:FileStreamConstructor(String,FileMode,FileAccess,FileShare)MSDNLink文件访问Aconstantthatdetermineshowthefilecanbeaccesse

c# - 使用 FileStream.ReadAsync() 时,我应该以异步模式打开文件吗?

为FileStream执行异步I/O的旧.Net方法是使用FileStream.BeginRead()和FileStream.EndRead().FileStream.BeginRead()的MSDN文档指出:FileStreamprovidestwodifferentmodesofoperation:synchronousI/OandasynchronousI/O.Whileeithercanbeused,theunderlyingoperatingsystemresourcesmightallowaccessinonlyoneofthesemodes.Bydefault,FileS

c# - 给定 FileStream 确定文件扩展名

有什么方法可以知道FileStream的类型。我有一个采用FileStream对象的函数,我想根据该FileStream确定文件扩展名。 最佳答案 stringextension=Path.GetExtension(myFileStream.Name); 关于c#-给定FileStream确定文件扩展名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8914477/

c++ - 使用任意分隔符从 FileStream 读取

我在使用C++从文件中读取msg时遇到了问题。通常人们所做的是创建一个文件流,然后使用getline()函数来获取消息。getline()函数可以接受一个额外的参数作为分隔符,以便它返回由新分隔符分隔的每个“行”,而不是默认的“\n”。但是,此分隔符必须是字符。在我的用例中,消息中的分隔符可能是其他类似“|--|”的东西,因此我尝试获得一个解决方案,使其接受字符串作为分隔符而不是字符。我稍微搜索了一下StackOverFlow,发现了一些有趣的帖子。Parse(split)astringinC++usingstringdelimiter(standardC++)这个给出了使用strin

c# - 为什么 C++ fseek/fread 的性能是 C# FileStream 的 Seek/Read 的数倍

我正在做非常简单的测试:有一个包含随机二进制信息的大文件,大小为~6Gb算法循环“SeekCount”次重复每次重复都会执行以下操作:计算文件大小范围内的随机偏移量寻找那个偏移量读取小块数据C#:publicstaticvoidTest(){stringfileName=@"c:\Test\big_data.dat";intNumberOfSeeks=1000;intMaxNumberOfBytes=1;longfileLength=newFileInfo(fileName).Length;FileStreamstream=newFileStream(fileName,FileMode

scala - 使用 Spark Streaming 读取 fileStream

我在HDFS上有一个目录,其中每10分钟复制一个文件(现有文件被覆盖)。我想使用Spark流(1.6.0)读取文件的内容,并将其用作引用数据以将其加入其他流。我将“记住窗口”spark.streaming.fileStream.minRememberDuration设置为“600s”并设置newFilesOnly到false,因为当我启动应用程序时,我不想从已经存在的HDFS中获取初始数据。valssc=newStreamingContext(sparkConf,Seconds(2))defdefaultFilter(path:Path):Boolean=!path.getName()

scala - 如何使用 `ssc.fileStream()` 读取 Parquet 文件?传递给 `ssc.fileStream()` 的类型是什么?

我对Spark的理解fileStream()方法是将三种类型作为参数:Key,Value,和Format.对于文本文件,适当的类型是:LongWritable,Text,和TextInputFormat.首先,我想了解这些类型的本质。凭直觉,我猜Key在本例中是文件的行号,Value是那一行的文字。因此,在以下文本文件示例中:HelloTestAnotherTestDStream的第一行会有一个Key的1(0?)和一个Value的Hello.这是正确的吗?我的问题的第二部分:我查看了ParquetInputFormat的反编译实现我注意到一些奇怪的事情:publicclassParqu

c# - FileStream 在应用程序冷启动时非常慢

也有人问过一个非常相似的问题hereonSO如果您有兴趣,但正如我们将看到的那样,该问题的公认答案并非总是如此(而且我的应用程序使用模式从来都不是这种情况)。性能决定代码由FileStream构造函数(用于打开文件)和SHA1哈希(.Net框架实现)组成。该代码几乎是我在上面链接到的问题中所问内容的C#版本。情况1:应用程序是第一次或第N次启动,但目标文件集不同。应用程序现在被告知计算以前从未访问过的文件的哈希值。~50ms80%FileStream构造函数18%的哈希计算案例2:应用程序现在完全终止,并重新启动,要求计算相同文件的哈希值:~8ms90%的哈希计算8%FileStrea