从MyDocuments复制数据库文件

时间:2018-03-22 13:53:15

标签: java sqlite

我有一个示例代码,用于将文件从一个位置复制到另一个位置。我使用它作为SQLite数据库文件的备份,将文件从My Documents文件夹复制到桌面..示例代码如下:

try{
            DateTimeFormatter date = DateTimeFormatter.ofPattern("yyyy/MM/dd HHmmss");
            String sys =System.getProperty("user.home");
            String fileurl = sys+"\\Desktop\\school database backup";
            File dest = new File(fileurl+date.format(java.time.LocalDateTime.now()));dest.mkdir();


            String sys1 =System.getProperty("user.home");
            File source = new File(sys1+"\\Documents\\hyper-DB\\intellect");

            FileUtils.copyDirectory(source, dest);
            JOptionPane.showMessageDialog(null,"Backup Successful");
        }
        catch(IOException e){
            e.getMessage();
        } finally{
            try{
                rs.close();
                pst.close();
            }
            catch(Exception e){
            }

        }

这段代码完全适用于我用来创建项目的我的电脑。但是当我把它安装在另一个用户的电脑上时。它不起作用。并确定它无法在My Documents文件夹中找到数据库。请问我该怎么做才能让它在另一台电脑上运行。谢谢

1 个答案:

答案 0 :(得分:0)

与每个编程问题一样,有多种方法可以解决问题。我将尝试解释几种解决问题的方法。如果您非常希望使用FileUtils中的复制功能。将整个项目放在一个专用文件夹中,包含所有文件,你甚至可以有子文件夹,这样可以保持一致,你不必担心文件权限,就像在学校计算机上找到的那样。另一种实现相同目的的方法是读取主数据库并一次将数据复制到备份数据库中一个元素。这也可以让您将主数据库与备份数据库放在同一目录中。将它全部放在一个文件夹中也不会有什么坏处。