当前位置: 首页 > 编程语言 > C#

如何在C#中写入-追加primefaces,或者如何打开带有FILE_APPEND_DATA标志的文件?分享

时间:2023-04-10 12:27:18 C#

如何在C#中写入/追加primefaces,或者如何使用FILE_APPEND_DATA标志打??开文件?在大多数符合Unix和Posix的操作系统下,使用O_APPEND执行open()操作系统调用,以向操作系统指示写入是原始面追加和写入操作。在本地文件系统中会发生这种情况,当您进行写入时,您知道它将附加到文件的末尾。Windows操作系统通过将适当参数中的FILE_APPEND_DATA传递给Win32CreateFile()系统调用来支持相同的功能。参考:http://www.google.com/search?q=msdn+createfile或:http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspxhttp://www.google.com/search?q=msdn+IoCreateFileSpecifyDeviceObjectHint或:http://www.google.com/search?q=msdn+IoCreateFileSpecifyDeviceObjectHint我的问题是我不知道如何在C#下使用Net框架库行为,有没有办法使用NetFramework获得这种行为?顺便说一句,我不相信使用FileMode.Append会产生这种行为。使用FileStream构造函数的重载之一:newFileStream(FileName,FileMode.Open,FileSystemRights.AppendData,FileShare.Write,4096,FileOptions.None)FileSystemRights.AppendData对应于FILE_APPEND_DATAFileStream似乎坚持缓冲,所以一定要writeeverytime当缓冲区足够大时,每次写入后都会调用Flush()。小例子:privatevoidbutton1_Click(objectsender,EventArgse){Threadt1=newThread(DoIt);线程t2=新线程(DoIt);t1.开始(“一”);t2.开始(“b”);线程.睡眠(2000);环境.退出(0);}privatevoidDoIt(objectp){使用(FileStreamfs=newFileStream(FileName,FileMode.Open,FileSystemRights.AppendData,FileShare.Write,4096,FileOptions.None)){使用(StreamWriterwriter=newStreamWriter(fs)){writer.AutoFlush=true;for(inti=0;i您可以使用带有所需参数的PInvoke调用CreateFile,传递生成的句柄给一个以SafeFileHandle作为参数的FileFream构造函数。为什么不能使用System.IO.File.AppendAllText("C:\somefile.txt","somecontent");?这也是一个线程安全的/"primefaces"调用以上是C#学习教程:如何在C#中写入/追加到primefaces,或者如何使用FILE_APPEND_DATA标志打开文件?所有内容分享,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除,如需转载请注明出处: