Java:将文件从一个目录复制/移动到另一个目录的安全方法

时间:2018-08-17 20:38:48

标签: java file java-io

我们有一个处理文件操作的系统,对于我而言,我必须将文件从一个目录复制或移动到另一个目录。有人能让我知道安全的方法吗?例如:假设在复制或移动执行期间,如果系统重新启动,我如何确保我的操作正常执行。一个示例代码片段将非常有帮助。

1 个答案:

答案 0 :(得分:-1)

您可以使用这种方式:

int fd, wd;
fd = inotify_init ();

if (fd < 0)
{
    perror ("inotify_init () = ");
}
else
{
    std::string filename = "/etc/test";
    wd = inotify_add_watch (fd, filename.c_str(), IN_MODIFY);

    if (wd < 0)
    {
    perror ("inotify_add_watch");
    }
    else
    {
        char* buffer = new char[1024];
        while(true)
        {
            //first read blocks until the /etc/temp file is modified, 
            //it returns 16 which is sizeof(struct inotify_event)
            printf("first read %d), read( fd, buffer, 1024));

            //second read() does not block and read returns 16 again
            printf("second read %d), read( fd, buffer, 1024));
         }
     }