Tag: 文件

System.IO.File.ReadAllBytes用于大于2GB的文件

我有一个大文件,我需要复制到内存进行进一步处理。 该软件适用于小于2GB的文件,但只要它们通过此限制,我就会得到一个exception,即ReadAllBytes仅支持小于2GB的文件。 byte[] buffer = System.IO.File.ReadAllBytes(file); // exception if file > 2GB 将大于2GB的文件复制到内存的最快方法是什么? 该进程已经是64位,并且已经设置了标志gcAllowVeryLargeObjects 。

FileShare.None是否让线程等到文件流关闭?

使用文件流时,将FileShare设置为None ,并说两个用户同时访问同一个函数想要读/写该文件。 FileShare.None会让第二个用户请求等待还是第二个用户的请求会抛出exception? //two users get to this this code at the same time using (FileStream filestream = new FileStream(chosenFile, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None)) using (StreamReader sr = new StreamReader(filestream)) using (StreamWriter sw = new StreamWriter(filestream)) { //reading and writing to file } Msdn说:无拒绝共享当前文件。 在文件关闭之前,任何打开文件的请求(通过此进程或其他进程)都将失败。 但请求会继续尝试,直到文件流关闭?

如何二进制序列化程序自定义类

我有这个自定义类: public class MyClass { private byte byteValue; private int intValue; private MyClass myClass1= null; private MyClass myClass2 = null; } 显然我也有构造函数和get / set方法。 在我的主窗体中,我初始化了很多MyClass对象(请注意,在MyClass对象中,我引用了其他2个MyClass对象)。 初始化后,我遍历第一个MyClass项,调用它为例如“root”。 所以,例如我做的事情如下: MyClass myClassTest = root.getMyClass1(); MyClass myClassTest2 = myClassTest.getMyClass1(); 等等。 不,我想存储在二进制文件中,实例化所有MyClass对象,以便在软件重启后再次获取它们。 我完全不知道如何做到这一点,有人可以帮助我吗? 谢谢。

FileShare ReadWrite不起作用(C#.NET)

我正在使用C#的hex编辑器控件,可以在这里找到源代码和二进制文件。 使用它时的一个问题是,如果在hex编辑器和另一个程序中加载了文件,则另一个程序无法保存该文件,因为它已被另一个进程使用。 所以我问控件的作者谁告诉我在FileByteProvider和DynamicFileByteProvider类的File.Open方法中将FileShare参数设置为ReadWrite(它最初只是Read)会修复它。 所以我这样做了,但它仍然无效(同样的错误)。 将其设置为“仅写入”也不起作用,但将其设置为“只读”和“无”都可以。 这些文件在任何程序中都有相同的问题,例如记事本。 它们没有设置为ReadOnly或任何东西,所以我不知道为什么它不起作用。 这里有什么我想念的吗?

在C#中打开一个文本文件

我正在编写一个Windows窗体应用程序,我在程序运行时记录了一些数据,并使用以下代码将其写入临时文件: string path = Path.GetTempFileName(); byte[] text = new UTF8Encoding(true).GetBytes(“Some Text”); using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None)) { fs.Write(text, 0, text.Length); } 程序通过后,我想在Microsoft编辑器中显示/打开该文件。 我该怎么做。 我google了一下,但我没有找到任何东西,也许我用错误的词搜索。 希望您能够帮助我。

c#File.Delete恢复?

有没有办法恢复已由File.Delete()方法以编程方式删除的文件? 程序删除了一些我需要恢复的文件,它们不会出现在回收站中。

文件上传进度

我需要在我的网页上实现文件上传进度我的页面中有五个文件上传控件,我想分别显示每个文件上传的上传进度。 我有办法做到这一点。 感谢Muthuraman。

从模式目录中获取文件

可能重复: 你能用多个filter调用Directory.GetFiles()吗? 是否有可能获得前任。 来自目录的.c和.h文件。 Directory.GetFiles(“C:\”, ” .c; .h”); 不起作用。 调用Directory.GetFiles(…);太糟糕了Directory.GetFiles(…); 两次…… 🙁 谢谢。

c#中的批处理文件执行

我正在从C#运行Java批处理文件。 如果我通过双击它运行它成功执行,但如果我从C#代码运行它它在线程中给出exception “main”线程中的exceptionjava.lang.noclassdeffoundError“.. 可能是什么原因以及如何解决? 我正在使用代码: var si = new ProcessStartInfo(); si.CreateNoWindow = true; si.FileName = “batch-file path”; si.UseShellExecute = true; Process.Start(si);

如何显示字节数组hex值?

嗨我在c#中创建应用程序。我有包含hex值的字节数组。我想将这些值写入文件而不将其转换为字符串或其他任何内容。请帮助我。谢谢。