草庐IT

filehandle

全部标签

ruby - Ruby 在哪里跟踪其打开的文件描述符?

这个问题不是关于什么这个问题不是关于如何使用File#close或File#openblock语法自动关闭文件。这是一个关于Ruby在运行时将其打开的文件描述符列表存储在何处的问题。实际问题如果您有一个带有打开描述符的程序,但您无权访问相关的文件或IO对象,您如何才能找到对当前打开的文件描述符的引用?举个例子:filename='/tmp/foo'%x(touch"#{filename}")File.open(filename)filehandle=File.open(filename)第一个File实例被打开,但对该对象的引用未存储在变量中。第二个实例存储在filehandle中,我

go - 为什么使用自定义 log.Logger 记录到文件会失败?

我无法让我的程序从main()之外的函数写入日志文件我确实看到了https://stackoverflow.com/a/19966217/4374801这很相似,但没有解决我的确切问题。以下是我正在做的事情的重要部分:var(Info*log.LoggerError*log.Logger)funcinit(){//setuplogfilefileHandle,err:=os.OpenFile("/var/log/checkcert",os.O_WRONLY|os.O_CREATE|os.O_APPEND,0644)iferr!=nil{log.Fatal(err)}//defertoc

c - 如何使用 C 从 Windows 中的文件句柄获取文件名?

我正在尝试从给定的文件句柄中检索文件名。我看过GetFileInformationByHandle可能有用,但它返回的结构不包含任何文件名信息(http://msdn.microsoft.com/en-us/library/aa363788%28v=VS.85%29.aspx)。我该怎么做?编辑:我已尝试安装WindowsFileIDAPI以使GetFileInformationByHandleEx在WindowsXP上运行。但是当包含fileextd.h时,出现以下错误c:\programmi\microsoftvisualstudio9.0\vc\include\fileextd.

c++ - 检查文件是否被进程文件句柄锁定

鉴于我有所有进程的所有文件句柄的列表,我如何找出这些句柄中的哪些实际上锁定了文件?据我所知,我可以简单地尝试打开文件并尝试获取所有权限,如果出现问题,我会知道它已被锁定。但这听起来效率极低。我的意思是我已经有了句柄没有办法检查句柄有哪些权限吗?我希望看到一个适用于WindowsXP及更高版本的解决方案。我已经搜索过GetFileInformationByHandleEx功能,但我找不到任何关于访问权限的信息。:/编辑:我不需要关于文件锁的实时信息。我计划处理的文件要么被锁定,直到某些应用程序关闭,要么根本不被锁定。 最佳答案 此问题

php - 如何确保文件句柄在下一次操作之前已关闭?

这是我到目前为止的代码,我想知道它是否正确?$handle=fopen($file,'w')ordie("can'topenfile");$closed=fclose($handle);while($closed){DOAWESOMETHINGS();//btwIonlywanttohavethisrunonceforeachhandle$closed=false;}非常感谢! 最佳答案 您可以使用此语句检查句柄是否已关闭if(!is_resource($handle)){//Handleclosed}else{//Handlest

php - 如何使用 php ://memory file handle? 执行 cURL PUT 请求

我正在使用第3方PHP类来访问API,它具有以下代码:$fh=fopen('php://memory','w+');fwrite($fh,$xml);rewind($fh);$ch=curl_init($req->to_url());curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_PUT,true);curl_setopt($ch,CURLOPT_INFILE,$fh);在最后一行,即这一行:curl_setopt($ch,CURLOPT_INFILE,$fh);我收到错误:Warning:cu

java - 如何配置特定 FileHandler 的属性

Java日志记录配置文件让我可以定义命名记录器的属性,例如name.heikoseeberger.heikotron.level=FINEname.heikoseeberger.heikotron.handlers=java.util.logging.FileHandler到目前为止,还不错。现在我想配置那个特定的FileHandler,例如带有特定的输出文件。不幸的是,我只知道如何配置“全局”FileHandler,它已经存在于配置文件中:java.util.logging.FileHandler.pattern=%h/java%u.logjava.util.logging.File

java - 确定 FileHandler 使用的文件

我正在创建一个允许循环访问文件的java.util.logging.FileHandler。当我的应用程序的多个实例运行时,将为应用程序的每个实例创建一个新的日志文件。我需要知道应用程序正在使用什么文件,因为我想将日志文件上传到我的服务器以供进一步审查。我如何知道某个FileHandler正在使用哪个文件? 最佳答案 最简单的方法是在文件名本身中放置某种标识符,即创建FileHandler时的pattern参数。由于这些是同一应用程序的实例,区分它们的一种方法是通过它们的进程ID,因此您可以将其作为模式的一部分。更好的方法是通过命令

c++ - 如何获取进程的文件句柄?

我正在尝试获取C++中任何正在运行的进程的文件句柄。这是我的代码:#include#include#include#include#includevoidkillProcessByName(constchar*filename){HANDLEhSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,NULL);PROCESSENTRY32pEntry;pEntry.dwSize=sizeof(pEntry);BOOLhRes=Process32First(hSnapShot,&pEntry);while(hRes){if(strcmp(pEnt

c++ - 检查内容语言是否使用从右到左的方向?

是否有Qt中的内置方法或其他方法来检查内容语言是否使用从右到左的方向?QFilefileHandle("c:/file.txt");if(!fileHandle.open(QFile::ReadOnly|QFile::Text))return;QTextStreamfileContent(&fileHandle);fileContent.setCodec("UTF-8");fileContent.setGenerateByteOrderMark(false);ui->plainTextEdit->setPlainText(fileContent.readAll());fileHandl