当我尝试将文件从cifs挂载重命名为本地路径(将文件从服务器移动到本地hdd)时,我得到-1。我可以删除文件,我可以添加新文件,我只是不能使用rename()函数来做这件事。该程序以root身份运行,cifs挂载中的用户拥有共享和服务器上本地文件系统的完全权限。
服务器:Windows XP SP3 x32
本地:Ubuntu 13.04 x64
smb安装:
sudo mount -t cifs -o username=admin_account,password=<passw> \
//server/share /local/mount/point
C代码:
void
function moveFile(char *fname){
char *base;
base = basename(fname);
char newF[strlen(getSaveDir()) + strlen(base)];
sprintf(newF,"%s%s", getSaveDir(), base);
int result;
result = rename(fname, newF);
if( result == 0 ) {
printf("Moved file: %s to %s", fname, newF);
} else {
printf("There was an error moving %s to %s (ID: %d)", fname, newF, result);
//TODO figure out better fix than this
remove(fname);
}
}
在所有的可能性中,如果您在重命名失败后询问errno,您将发现它被设置为EXDEV。
我建议您添加该信息或确认它是EXDEV。
如果您要获取EXDEV,那么这是因为Linux限制,只有当oldpath和newpath位于相同的挂载文件系统上时,rename()才起作用。
从重命名(2)
EXDEV oldpath and newpath are not on the same mounted file system.
(Linux permits a file system to be mounted at multiple points,
but rename() does not work across different mount points, even
if the same file system is mounted on both.)
rename()只在同一个设备上工作,它只是更改其名称(或将名称“移动”到另一个目录)。rename()无法将文件数据从一个位置移动到另一个位置。
如果要复制或移动文件,您需要自己执行以下操作:
我正在尝试将此文件加载到我的webview中,但它没有加载 文件路径类似于 /数据/用户/0/com。xyzapp。应用程序/缓存/临时文件。docx//这是GetPathh 下面是我的代码 第一项活动:- 第二项活动:- 如果我使用Action\u view 我因为“E/UncaughtException:android”而崩溃。操作系统。FileUriExposedException:file
我想把一个html文件加载到WebView中。 请注意,在so上有很多相关的问题,但它们都涉及从资产文件夹获取**.html*。 但是我想从本地文件夹加载html文件,比如“d://abc.html”,因为如果我的html大约是10MB,那么相应的apk大小也会增加到10MB。
我想每小时将更新的文件从本地文件系统复制到Hadoop,因为我想放入cron。我可以使用任何hadoop命令将更新的文件从本地复制到Hadoop吗?
我需要使用python从组织终端下的本地上传文件到AWS S3存储桶。因为我是大型机资源,所以我对python不太了解,但是,当我尝试阅读一些内容时,我知道boto3可以帮助我。有人能帮我开始吗?
如何将文件从HDFS复制到本地文件系统。文件下没有文件的物理位置,甚至没有目录。我如何将它们移到本地进行进一步的验证。我通过winscp进行了尝试。
任务:我已经创建了一个片段抽屉,在这里我有textview,文本“MyName”就在我的图像下面,然后有nav_row项,所以我想做的是,当单击该文本时,它应该将活动从MainActivity切换到profileinfo,我创建了webview,它的活动profileinfo应该加载我的html文件...所以我做的是这里--> webview xml在这里--> profileinfo活动 这是我