草庐IT

file_stream

全部标签

c# - 如何等到 File.Exists?

我有一个应用程序,用于监听选定文件夹中的*.log文件。我使用了FileSystemWatcher。但是有个问题。负责制作该文件的其他应用程序执行以下步骤:制作*.gz文件将其解压为txt文件(一些随机文件名)将*.txt名称更改为带有*.log扩展名的正确名称。而且我无法改变这种行为。所以我为*.gz和*.txt文件制作了2个FileSystemWatcher。为什么?因为这个app有时不会解压gz文件,有时也不会把txt文件重命名为最终的*.log文件。FileSystemWatcher2捕获txt文件,然后(大多数情况下它被重命名为在接下来的1000ms登录)我需要等待一段时间来

C# - 为什么 System.IO.File.GetLastAccessTime 在找不到文件时返回预期值?

请说说你的想法。1.DateTimedt=System.IO.File.GetLastAccessTime("C:\\There_is_no_such_file.txt");2.DateTimedt=System.IO.File.GetLastAccessTime("");如果路径参数中描述的文件不存在,则此方法返回调整为本地时间的公元1601年1月1日午夜12:00协调世界时(UTC)。第二种情况抛出参数异常。为什么在第一种情况下没有抛出FileNotFoundException(或smth.simmilar)? 最佳答案 这是记

c# - 使用 HttpRequestMessage 或 Stream 上传 REST 文件?

为REST客户端上传文件的更好方法是什么?来自WCFWebAPI文档[WebInvoke(UriTemplate="thumbnail",Method="POST")]publicHttpResponseMessageUploadFile(HttpRequestMessagerequest){来自多个论坛帖子:WCFRESTFileuploadwithadditionalparameters[WebGet(UriTemplate="",Method="POST"]publicstringUploadFile(StreamfileContents)我知道,第一种方法允许直接从普通的HTM

c# - 具有 Stream 类型成员的对象的 JSON.NET 序列化?

希望这是一个我忽略的简单修复。我有一个对象传递到事件处理程序中,我想使用JSON.NET序列化该对象,如下所示:publicvoidOnEvent(IEventObjectfoo){//Serializefootostring/diskhere?vardata=JsonConvert.SerializeObject(foo,Formatting.Indented);}foo的一个或多个成员似乎是流。我已经认识到Streams不可序列化,因为它们是对数据而非数据本身的抽象。这是有道理的。我不知道如何序列化这个对象:a)将流转换成数据并序列化b)忽略流并序列化其余成员一个重要的警告是我无权

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

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

C# I/O - System.IO.File 和 StreamWriter/StreamReader 之间的区别

假设我只对处理文本文件感兴趣,那么与StreamWriter相比,System.IO.File方法有哪些具体优势或劣势?是否涉及任何性能因素?基本区别是什么,在什么情况下应该使用哪些?还有一个问题,如果我想将一个文件的内容读入一个字符串并对其运行LINQ查询,哪个最好? 最佳答案 在File类中看似重复的方法背后有一段有趣的历史。它是在对.NET的预发布版本进行可用性研究之后产生的。他们请了一群有经验的程序员编写代码来操作文件。他们以前从未接触过.NET,只是有文档可以使用。成功率为0%。是的,有区别。当您尝试读取一个GB或更大的文

c# - 使用 File.Exists 检查文件是否存在于 64 位系统上

我的操作系统是64位的,文件夹C:\Windows\SysWOW64中有一个文件111.txt,但在c:\windows\system32中没有该文件但是下面的代码返回truefile=@"C:\Windows\System32\111.txt";boolbExist=System.IO.File.Exists(file);不知道为什么?以及如何检查system32下是否有文件111.txt而不是SysWoW64? 最佳答案 由于许多应用程序已将System32目录名称硬编码到路径中,MS将64位系统文件放在那里而不是“System

c# - File.ReadLines 什么时候释放资源

在C#中处理文件时,我习惯于考虑释放相关资源。通常这是一个using语句,除非它是一个单行方便的方法例如File.ReadAllLines,它将为我打开和关闭文件。.Net4.0引入了便捷方法File.ReadLines。这将返回一个IEnumerable并被称为处理文件的更有效方式-它避免将整个文件存储在内存中。为此,我假设枚举器中有一些延迟执行逻辑。显然,由于此方法返回的是IEnumerable而不是IDisposable,因此我不能按照我对using语句的直觉react去做。我的问题是:考虑到这一点,使用此方法在资源释放方面是否存在任何问题?调用此方法是否意味着关联文件锁的释放是

c# - WPF 文件放置事件 : just allow a specific file extension

我有一个WPF控件,我想将一个特定的文件从我的桌面拖放到这个控件中。这不是很重要的部分,但我想检查文件扩展名以允许或禁止删除。解决此问题的最佳方法是什么? 最佳答案 我认为这应该可行:假设您只想允许C#文件:privatevoidlbx1_DragOver(objectsender,DragEventArgse){booldropEnabled=true;if(e.Data.GetDataPresent(DataFormats.FileDrop,true)){string[]filenames=e.Data.GetData(Data

基于Amazon KVS 与 Amazon Rekognition Streaming Video Events实时视频检测方案

前言1.1 视频识别场景介绍在居家安防监控领域,基于实时视频的移动检测,发现监控环境中人、宠物、包裹等的出现,并且能实时地将检测结果通知给身处任何地方的用户是其重要的应用场景之一。但在这一场景的技术实现中面临如下的挑战:一是基于摄像头的视频检测通知,存在大量由于风、雨、移动的车等并非用户关注的事件误报,严重影响用户的使用体验。二是实现这一方案涉及的技术领域与复杂度很高,如设备端事件检测和触发、视频编解码处理、视频存储、机器视觉等,需要团队具备较强的技术和专业能力。本文介绍的由Amazon最新推出的Amazon Rekognition StreamingVideoEvents很好地解决了这些挑战