Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 强制关闭已打开的文件以进行复制_R_File_Io_Copy - Fatal编程技术网

R 强制关闭已打开的文件以进行复制

R 强制关闭已打开的文件以进行复制,r,file,io,copy,R,File,Io,Copy,我需要复制一个文件 比如,我有这个代码: outputFile <- 'Path1/out.pdf' originFile <- 'Path2/origin.pdf' file.copy(from =originFile, to = outputFile,overwrite=TRUE) outputFile看看?close-这些是管理R中文件连接的命令。close(outputFile)可能就是您所需要的全部关闭所有连接() (当然,如果文件是由R之外的另一个程序打开的,例如pd

我需要复制一个文件

比如,我有这个代码:

outputFile <- 'Path1/out.pdf'
originFile <- 'Path2/origin.pdf'

file.copy(from =originFile, to = outputFile,overwrite=TRUE)

outputFile看看
?close
-这些是管理R中文件连接的命令。
close(outputFile)
可能就是您所需要的全部<如果同时打开多个文件,则代码>关闭所有连接()


(当然,如果文件是由R之外的另一个程序打开的,例如pdf阅读器,则必须在R之外将其关闭。)

在这种情况下,使用close或类似的方法没有帮助,因为您没有在Acrobat reader中打开的
out.pdf
句柄

解决这个问题有两种方法(假设Windows,我不知道如何在其他系统中处理这个问题)

a) 使用苏门答腊查看器;它是唯一一个不锁定pdf文件的合理可靠的查看器。这是RStudio使用的方法


b) 通过system()调用使用
pdfpos
,关闭文件。有关示例,请参见。在RStudio出现之前,我就使用了这种方法,但它需要在AcrobatReader/Full版本的每个新版本上进行调整,并安装一个正在运行的perl。应该可以在其他操作系统上工作。

谢谢!但是您有使用Sumatra Viewer的代码示例吗?无需代码,安装Sumatra Viewer并将其定义为标准查看器。如果您不想这样做,请使用方法2。