Tag: file io

FileSystemWatcher失败,有1000个文件创建

我正在使用FileSystemWatcher监视文件夹A.如果创建文件或将文件复制到该文件夹​​,它将被移动到文件夹B. 我通过右键单击选择“新建”,选择“文本文档”,在文件夹A中创建了一个文件。 文件立即移动到文件夹B. 但是如果我使用程序在文件夹A中创建1000个文件,那么它们就不会移动到文件夹B.因为看起来FileSystemWatcher无法检测到1000个文件是由程序创建的。 有人能为我解释一下吗?

跳转到文件行c#

我怎么能跳进我文件中的某一行,例如c:\ text.txt中的第300行?

从本地文件夹中读取文本文件

我想从我的本地目录中读取一个文本文件,我将文本文件添加到我的c#解决方案中,因此它会在部署时被复制..但是我如何打开它? 我一直在搜索,但所有的例子都假设我有一个C:\ textfile.txt: 我试过只读文件 if (File.Exists(“testfile.txt”)) { return true; } 那没用。 然后我尝试了: if (File.Exists(@”\\TextConsole\testfile.txt”)) { return true; } 但仍然不会打开它..任何想法?

在C#中将文本添加到文件的开头和结尾

我有一个进程可以获取一系列“xml”文件。 我把xml放在引号中的原因是文件中的文本没有一个根元素,它使得xml无效。 在我的处理中,我想纠正这个并打开每个文件,在每个文件的开头和结尾添加一个根节点,然后将其关闭。 这是我的想法,但这涉及打开文件,读取整个文件,在节点上标记,然后写出整个文件。 这些文件的大小可能超过20 MB。 foreach (FileInfo file in files) { //open the file StreamReader sr = new StreamReader(file.FullName); // add the opening and closing tags string text = “” + sr.ReadToEnd() + “”; sr.Close(); // now open the same file for writing StreamWriter sw = new StreamWriter(file.FullName, false); sw.Write(text); sw.Close(); } 有什么建议?

确定文件是否已打开

有没有办法确定文件是否被任何包含未锁定文件的应用程序(如记事本)打开。 我需要检测给定文件myfile.txt何时不再在包括记事本在内的任何应用程序中打开 – 所以我不能使用具有独占访问权限的File.Open(…)来测试,因为文件没有锁定。

在ReadToEnd之后关闭StreamReader

在构造中调用ReadToEnd方法后,是否有可能以某种方式关闭StreamReader: string s = new StreamReader(“filename”, Encoding.UTF8).ReadToEnd(); 任何具有相同语义的替代优雅结构也将被接受。

Mono中的C#FileStream – 文件共享冲突

我有一个使用Mono在Raspbian上运行的C#WinForms应用程序。 它有一个计时器。 当OnTimedEvent触发时,我检查是否可以独占访问我要上传的文件(以确保它已完成写入磁盘),然后尝试上传。 如果上传成功,我将文件移动到存档文件夹,否则我将其留在那里并等待下一个计时器事件。 连接到Internet时没有问题,但是当我测试没有并且我的上传失败时,第二个OnTimedEvent在检查同一文件是否准备就绪时会再次出现exception。 我正进入(状态 : Error message: ***Sharing violation on path ‘path’ ***HResult: ***-2147024864 检查文件是否准备好的方法: public static bool IsFileReady(string filename) { // If the file can be opened for exclusive access it means that the file // is no longer locked by another process. try { var inputStream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.None); […]

Metro / Windows 8 + C#/ XAML:如何查找存储在文档库中的图片的有效URI?

对于Windows 8,我创建了一个应用程序,可以从Web下载图片并将其存储在用户文档库中以编程方式创建的子文件夹中。 我已将所需的function和声明添加到应用程序清单: 文档库作为function启用 添加了jpg的文件类型关联,并在声明中标记了“open is safe” 启动应用程序时,所有文件夹和文件都已正确创建 – 用户可以从文件系统手动打开它们。 我的挑战如下:当我以编程方式加载所有可用图像并将此图像列表绑定到XAML元素时,我需要一个URI“xxx:///yyy/zzz.jpg”,可用于正确设置图像源。 我尝试了各种架构风格。 “file:///yyy/zzz.jpg”但没有成功。 有没有办法做到这一点,或者根本没有办法? 当图片存储在应用程序数据中时,XAML对“ms-appdata:///local/zzz.jpg”之类的URI感到满意。 但我绝对宁愿将图片存储在用户的库中。 谢谢你的帮助!

C# – File Manipulation Galaxy S3 SD卡

我目前正在尝试编写一个小程序来检查我的Galaxy S3上的SD卡上的音乐然后检查我的计算机上的音乐文件夹并将我手机上没有的任何内容复制到它上面,反之亦然。 目前我正在努力找出SD卡的路径。 当我在我的文件系统中“当计算机\ SCH-I535 \ Card \ Music”在尝试检查该路径中存在的文件时返回false时,将显示路径窗口。 我希望有人可以通过告诉我如何正确找到SD卡的路径来帮助我。 我目前正在尝试使用C#,因为我想为这个应用程序提供一个很好的WPF UI。 这是我试图用来获取当前文件的代码,它抛出了我放入的exception。 namespace FileSync { public class SyncTools { private readonly string path = @”Computer\SCH-I535\Card\Music\test.mp3″; public bool pbExist() { bool exist = System.IO.File.Exists(path); if(exist == false) { throw new Exception(“File not found.”); } return exist; } } }

在解析非常大的日志文件时保持UI响应

我正在编写一个解析非常大的日志文件的应用程序,以便用户可以以树视图格式查看内容。 我已经使用BackGroundWorker来读取文件,并且在解析每条消息时,我使用BeginInvoke来获取GUI线程以将节点添加到我的树视图中。 不幸的是,有两个问题: 在解析文件时,树视图无法响应点击或滚动。 我希望用户能够在文件解析时检查(即展开)节点,这样他们就不必等待整个文件完成解析。 每次添加新节点时,树视图都会闪烁。 这是表单中的代码: private void btnChangeDir_Click(object sender, EventArgs e) { OpenFileDialog browser = new OpenFileDialog(); if (browser.ShowDialog() == DialogResult.OK) { tbSearchDir.Text = browser.FileName; BackgroundWorker bgw = new BackgroundWorker(); bgw.DoWork += (ob, evArgs) => ParseFile(tbSearchDir.Text); bgw.RunWorkerAsync(); } } private void ParseFile(string inputfile) { FileStream logFileStream = new FileStream(inputfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader […]