草庐IT

c# - 如何在没有流或系统 io 的情况下压缩字节数组

我正在尝试将图像编码为字节数组并将其发送到服务器。编码和发送部分工作正常,但我的问题是字节数​​组太大,发送时间太长,所以我认为压缩它会使它运行得更快。但实际问题是我不能使用system.io或流。我的目标是.net2.0。谢谢。 最佳答案 usingSystem.IO;usingSystem.IO.Compression;代码:publicstaticbyte[]Compress(byte[]data){MemoryStreamoutput=newMemoryStream();using(DeflateStreamdstream=

c# - 在 .NET 中通过 PipeReader 读取 SSL

目前,我通过使用SSL流实现了一个有效的实现,封装在缓冲流中,并且只使用字节数组在流上调用读/写。我想让它更快,从一些阅读来看,System.IO.Pipelines似乎是实现高性能IO的方式。我读过的很多文章/演示仅演示了直接使用套接字的代码——这似乎对我不起作用,因为我使用的是SSL。我发现了一些从流中获取管道读取器/写入器的扩展>Stream.UsePipeReader()或Stream.UsePipeWriter()所以我尝试调用SSLStream.UsePipeReader()但是我总是得到错误:System.NotSupportedException:TheReadAsyn

c# - 如何实现异步 File.Delete/Create/Move?

由于我必须在我的应用程序中进行大量文件I/O操作,我决定异步实现它们。查看MSDN,没有File.Create、File.Delete和File.Move的异步副本。据我了解,原因是不存在用于文件删除、创建或移动的异步Win32实现,所以我最终得到以下解决方案:publicstaticTaskDeleteAsync(stringpath){Guard.FileExists(path);returnTask.Run(()=>File.Delete(path));}publicstaticTaskCreateAsync(stringpath){Guard.IsNotNullOrWhites

c# - 在 Directory.Delete 之后,Directory.Exists 有时会返回 true 吗?

我的行为很奇怪。我有,Directory.Delete(tempFolder,true);if(Directory.Exists(tempFolder)){}有时Directory.Exists返回true。为什么?可能是资源管理器打开了吗? 最佳答案 Directory.Delete调用WindowsAPI函数RemoveDirectory.记录观察到的行为:TheRemoveDirectoryfunctionmarksadirectoryfordeletiononclose.Therefore,thedirectoryisnot

c# - 如何从字符串对象中获取 System.IO.Stream

我有字符串对象。我需要将此数据传递给XYZ类型的另一个对象。但是这个XYZ类型的对象只采用System.IO.Stream。那么如何将字符串数据转换成流,让XYZ类型的对象可以使用这个字符串数据呢? 最佳答案 您必须选择一种文本编码来将字符串转换为字节数组,然后使用MemoryStream调用您的函数。例如:using(System.IO.MemoryStreamms=newSystem.IO.MemoryStream(System.Text.Encoding.UTF16.GetBytes(yourString))){XYZ(ms)

c# - 文件系统观察器和大文件

varfsw=newFileSystemWatcher(sPath,"*.PPF");fsw.NotifyFilter=NotifyFilters.FileName;fsw.IncludeSubdirectories=true;fsw.Created+=FswCreated;fsw.EnableRaisingEvents=true;staticvoidFswCreated(objectsender,FileSystemEventArgse){stringsFile=e.FullPath;string[]arrLines=File.ReadAllLines(sFile);}对于大文件这会

c# - 使用 System.IO.Packaging 生成 ZIP 文件

我知道通常建议使用DotNetZip或SharpZipLib库之类的库来使用.net语言(在我的例子中是C#)创建ZIP文件,但使用System并非不可能.IO.Packaging生成ZIP文件。我认为尝试在C#中开发一个例程可能会很好,它可以做到这一点,而无需下载任何外部库。有没有人有一个或多个使用System.IO.Packaging生成ZIP文件的方法的好例子? 最佳答案 让我为你谷歌这个->system.io.packaging+generate+zip第一个链接http://weblogs.asp.net/jongallo

c# - 为什么这个 Path.Combine 不起作用?

这个问题在这里已经有了答案:WhydoesPath.CombinenotproperlyconcatenatefilenamesthatstartwithPath.DirectorySeparatorChar?(16个答案)关闭9年前。我有以下命令:stringreportedContentFolderPath=Path.Combine(contentFolder.FullName.ToString(),@"\ReportedContent\");当我查看调试器时,我可以看到以下内容:contentFolder.FullName="E:\\"不过reportedContentFolde

c# - 将 async/await 与 DataReader 一起使用? (没有中间缓冲区!)

我的目标很简单,我想进行异步I/O调用(使用异步等待)-但是:不使用DataFlow依赖项(likeinthisanswer)没有中间缓冲区(notlikethisanswer)Projector函数应作为参数发送。(notlikethisanswer)好的。目前这是我的代码,它的工作是从数据库中读取并将每一行投影到FuncpublicIEnumerableGetSomeData(stringsql,Funcprojector){using(SqlConnection_conn=newSqlConnection(@"DataSource=...")){using(SqlCommand_

c# - 如何使用 C# 安全地将数据保存到现有文件?

如何安全地将数据保存到C#中已存在的文件中?我有一些序列化到文件中的数据,我很确定直接保存到文件中不是一个好主意,因为如果出现任何问题,文件将被损坏并且以前的版本将丢失。这就是我到目前为止所做的:stringtempFile=Path.GetTempFileName();using(StreamtempFileStream=File.Open(tempFile,FileMode.Truncate)){SafeXmlSerializerxmlFormatter=newSafeXmlSerializer(typeof(Project));xmlFormatter.Serialize(tem