Tag: file io

检查目录中是否存在File而忽略扩展名

我使用的是.NET 2.0,Linq是不可能的。 我想在不知道文件扩展名的情况下检查文件是否存在于目录中。 我只需要完成这个逻辑。 1.使用搜索模式提供的字符串文件名在目录中存在检查文件,省略文件的扩展名 2.获取文件(如果存在)和Databind提供Download links 。如果文件不存在,则开始上传文件。 更新: Directory.GetFiles()和DirectoryInfo.GetFiles()确实解决了我检查文件存在的部分。 至于有关FileInfo对象的性能,这些只是我对数据绑定的要求的解决方案,以提供下载链接

Response.TransmitFile并在传输后删除它

我必须在我的网站上实施GEDCOM导出。 点击导出到gedcom后,我的.net代码在服务器上创建了一个文件。 然后我需要从服务器下载它到客户端,并且应该询问用户保存该文件的位置,这意味着需要savedialog。 下载后,我想从服务器上删除该文件。 我有一个代码将文件从服务器传输到客户端: Response.ContentType = “text/xml”; Response.AppendHeader(“Content-Disposition”, “attachment; filename=” + FileName); Response.TransmitFile(Server.MapPath(“~/” + FileName)); Response.End(); 从这个链接 但是我无法在此代码之后删除该文件,因为Response.End结束响应,因此在该行之后写入的任何代码都不会执行。 如果我在Response.End();之前执行代码删除文件Response.End(); ,然后文件没有传输,我收到一个错误。

使用TextFieldParser处理包含未转义双引号的字段

我正在尝试使用TextFieldParser导入CSV文件。 特定的CSV文件由于其非标准格式而导致我出现问题。 有问题的CSV的字段用双引号括起来。 当特定字段中还有一组未转义的双引号时,会出现此问题。 这是一个过于简单的测试用例,突出了问题。 我正在处理的实际CSV文件并非全部格式相同,并且有许多字段,其中任何一个都可能包含这些可能棘手的格式问题。 TextReader reader = new StringReader(“\”Row\”,\”Test String\”\n” + “\”1\”,\”This is a test string. It is parsed correctly.\”\n” + “\”2\”,\”This is a test string with a comma, which is parsed correctly\”\n” + “\”3\”,\”This is a test string with double \”\”double quotes\”\”. It is parsed correctly\”\n” + “\”4\”,\”This is a test string […]

File.ReadAllText线程安全吗?

具体来说,将使用TPL Task.Factory.StartNew一个线程: Task.Factory.StartNew(() => { File.ReadAllText(@”thisFile.txt”); }); 引起任何问题等? 似乎没有在MSDN资源上提及线程安全性 它位于SOAP Web服务环境中。 Ps请,我不想知道在Web环境中使用Task的专业和缺点。 我完全清楚这些问题, 请理所当然地认为在我的情况下这个模型是合理的,谢谢。

操作后File.AppendAllText是否关闭文件

执行操作后,以下是否关闭文件? : System.IO.File.AppendAllText(path, text); 是的,不,不够吗?

如何在不定义路径的情况下读取现有文本文件

大多数示例显示了如何从确切位置读取文本文件(fe“C:\ Users \ Owner \ Documents \ test1.txt”)。 但是,如何在不写完整路径的情况下读取文本文件,因此我的代码在复制到其他计算机时可以正常工作。 使用visual studio,我将2个文本文件添加到项目(控制台项目),并且不知道阅读这些文件的最佳方法。 希望我能清楚地描述我的问题。 也许我需要不同地添加这些txt文件(比如直接与.exe文件相同的文件夹)?

读取文本文件并将信息插入新对象

所以我有一个文本文件,其中包含以下格式的信息,包括姓名,电子邮件和电话号码。 Bill Molan, Bill.Molan@gmail.com, 612-789-7538 Greg Hanson, Greg.Hanson@gmail.com, 651-368-4558 Zoe Hall, Zoe.Hall@gmail.com, 952-778-4322 Henry Sinn, Henry.Sinn@gmail.com, 651-788-9634 Brittany Hudson, Brittany.Hudson@gmail.com, 612-756-4486 当我的程序启动时,我想读取这个文件并将每一行变成一个新的Person(),我最终将其添加到一个列表中。 我想读取每一行,然后使用逗号分隔每个字符串以放入Person()的构造函数,这是一个基本类: public PersonEntry(string n, string e, string p) { Name = n; Email = e; Phone = p; } 我已经做了一些看,我认为使用streamreader将会读取文本文件,但我不确定从哪里开始。

在C#.NET 3.5中使用JSON

我找到了一些帮助方法,允许我将对象转换为JSONM和JSON转换为对象。 现在我正在读一个看起来像这样的json文件: /************************************************************************/ /* Coments Here *********************************************************/ /************************************************************************/ //more comments [{ “Id”: 1, “Name”: “HP Up” }, { “Id”: 2, “Name”: “Regeneration” }] 现在,虽然我可以将JSON转换为表示1对象,但我还是要使用C#.NET 3.5将其转换为多个对象?

我们可以锁定一个目录吗?

我正在使用VSTS 2008 + C#+ .Net 3.5来开发控制台应用程序。 对于文件访问,我们可以以独占模式访问文件,阻止其他进程/线程访问文件 – 这具有“锁定”文件的效果。 我想知道目录,是否有任何内置的API或解决方案使目录独占访问 – 具有“锁定”的效果? 例如,如果一个线程“锁定”目录,其他线程/进程无法调用Directory.GetFiles,无法将文件写入目录,无法从目录中读取文件等。

重用文件流

在过去,我总是使用FileStream对象来写或重写整个文件,之后我会立即关闭流。 但是,现在我正在开发一个程序,我想在其中保持FileStream打开,以便允许用户在两​​次保存期间保持对文件的访问。 (见我之前的问题 )。 我正在使用XmlSerializer将我的类序列化为from和XML文件。 但是现在我保持FileStream打开以便稍后用于保存(重新序列化)我的类实例。 如果我重复使用相同的文件流而不是使用新的文件流,是否需要进行任何特殊考虑? 我是否需要在保存之间将流重置为开头? 如果稍后保存的大小小于先前的保存,则FileStream将保留旧文件中的剩余字节,从而创建损坏的文件? 我是否需要做一些事情来清除文件,以便它表现得好像我每次都在写一个全新的文件?