精华内容
下载资源
问答
  • java实现文件备份

    2020-08-05 11:03:19
    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io....
    package com.timetask.action;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.nio.file.Files;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.List;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    
    import org.apache.commons.io.FileUtils;
    import org.w3c.dom.Attr;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    
    import com.vrs.user.util.Tools;
    
    public class TimeTaskAction {
    	/**
    	 * 定时备份MP4到挂载盘
    	 */
    	public void backupMP4() {
    		System.out.println("备份MP4文件开始");
    		String mountpath=Tools.getmountpath("mountpath");
    		if(Tools.isWindowsOS()){
    			moveFiles("F://测试demo","F://测试demo1");
    		}else {
    			moveFiles("/vrs/web/vod/mp4/",mountpath);
    		}
    		System.out.println("备份MP4文件结束");
    	}
    	/**
    	 * 定时删除vod/mp4路径下文件
    	 */
    	public void removeMP4() {
    		System.out.println("定时删除MP4文件开始");
    		String filepath="/vrs/web/vod/mp4/";
    		String mountpath=Tools.getmountpath("mountpath");
    		File file=new File(filepath);
    	    File[] files=file.listFiles();
    		for (File file2 : files) {
    			if(new File(mountpath+"/"+file2.getName()).exists()){
    				//Long creattiem=getCreateTime(file2);
    				Date date1=	getCreateTime(file2);
    		    	Date date2=new Date();
    		        int ss=	getDaysBetweenDate(date2,date1);
    		        System.out.println("文件距离今天"+ss+"天");
    		        if(ss>180){
    		        	file2.delete();
    		        }
    			}
    		}
    		System.out.println("定时删除MP4文件结束");
    	}
        public static void main(String[] args) {
        	/*File file=new File("F:\\etwealth\\考生(1).xlsx");
        	Date date1=	getCreateTime(file);
        	String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date1);
        	System.out.println(format);
        	Date date2=new Date();
            int ss=	getDaysBetweenDate(date2,date1);
            System.out.println(ss);*/
        	moveFiles("F://测试demo","F://测试demo1");
    	}
        
    	
    	public static int getDaysBetweenDate(Date d1, Date d2){
    		int days;
    		days = (int) ((d1.getTime() - d2.getTime())/(24*60*60*1000));
    		return days;
    	}
    	 /** 
         * 读取文件创建时间 
         */  
        public static Date getCreateTime(File delfile){
        	SimpleDateFormat   df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        	Calendar cal = Calendar.getInstance();  
            long time = delfile.lastModified();  
            cal.setTimeInMillis(time);
            String strTime=cal.getTime().toLocaleString();
            Date wenjian = null;
            try {
    			wenjian = df.parse(strTime);
    			System.out.println("wenjian"+wenjian);
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}  
            return wenjian;
            //输出:创建时间   2018-2-23 14:30:28
        }  
        
    
    	/**
    	 * @param sourcePath
    	 * @param newPath
    	 * @throws IOException
    	 * 文件夹复制
    	 */
    	public static void moveFiles(String oldPath, String newPath) {
    		String[] filePaths = new File(oldPath).list();
    		if (filePaths.length > 0) {
    			if (!new File(newPath).exists()) {
    				new File(newPath).mkdirs();
    			}
    			for (int i = 0; i < filePaths.length; i++) {
    				if (new File(oldPath + File.separator + filePaths[i]).isDirectory()) {
    					moveFiles(oldPath + File.separator + filePaths[i], newPath + File.separator + filePaths[i]);
    				} else if (new File(oldPath + File.separator + filePaths[i]).isFile()) {
    					// 复制文件到另一个目录
    					try {
    						copyFile(oldPath + File.separator + filePaths[i], newPath+File.separator+ filePaths[i]);
    					} catch (IOException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    				}
    			}
    		}
    	}
    
    	/**
    	 * @param oldPath
    	 * @param newPath
    	 * @throws IOException
    	 * 文件复制
    	 */
    	public static void copyFile(String oldPath, String newPath) throws IOException {
    		//1.文件是否存在
    		//2.文件是否已修改
    		File oldFile = new File(oldPath);
    		File file = new File(newPath);
    		if (!file.exists()) { //文件不存在
    			FileInputStream in = new FileInputStream(oldFile);
    			FileOutputStream out = new FileOutputStream(file);
    			byte[] buffer = new byte[1024];
    			int len = 0;  
    			while((len = in.read(buffer)) != -1){  
    				out.write(buffer,0,len);  
    		    } 
    			in.close();
    			out.close();
    		}else{ //文件是否已修改
    			Date date1=	getCreateTime(oldFile);
    	    	Date date2=new Date();
    	        int ss=	getDaysBetweenDate(date2,date1);
    	        System.out.println("文件距离今天"+ss+"天");
    	        if (ss<1) {
    	        	FileInputStream in = new FileInputStream(oldFile);
    				FileOutputStream out = new FileOutputStream(file);
    				byte[] buffer = new byte[1024];
    				int len = 0;  
    				while((len = in.read(buffer)) != -1){  
    					out.write(buffer,0,len);  
    			    } 
    				in.close();
    				out.close();
    			}
    		}
    	}
    }
    
    
    展开全文
  • 通过tftp指引文件保存路径,使用copy config.text tftp \r 192.168.3.161 \r config.text命令可以实现路由器配置文件备份,请问在java程序中怎么实现配置文件备份。求高手指点。跪拜,谢谢!!!
  • 备份数据库的方法使用了mysql自带的mysqldump进行备份,得到数据库的sql文件,完成备份. 下面是具体的实现 首先,相关配置文件,放在文件类路径下 (dbBackUpRecover.properties) #smysql备份功能路径与数据库用...

    定时备份与还原

    • 简介:配置一个时间监听器,通过util中的日期类和定时器控件解析相关的时间数据,在相应的时间调用备份数据库的方法.
      备份数据库的方法使用了mysql自带的mysqldump进行备份,得到数据库的sql文件,完成备份.
      下面是具体的实现

    • 首先,相关配置文件,放在文件类路径下 (dbBackUpRecover.properties)

    #smysql备份功能路径与数据库用户名和密码
    #//usr//bin 为mysql服务bin目录的地址  -u后为用户名 -p后为密码  最后一个字符串为需要备份的数据库名称
    sqlurl = //usr//bin//mysqldump -uroot -plyy504677 dk_qj_db
    #备份的sql保存路径  注意:必须手动在服务器相应文件夹下创建文件夹:LeaveDatabase   
    path = //usr//LeaveDatabase//dkxy_db-.sql
    #备份相隔时间24 * 60 * 60 * 1000=86400000  此为一天时间
    distancetime = 1296000000    #15天备份一次
    #备份的具体的时间
    backuptime = 2:30:00     #造成两点半备份一次
    • 得到配置文件中相应数据的读取文件类 (GetProperties.java)
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    public abstract class   GetProperties {
    
        private static  String sqlurl = "";
        private static  String path = "";
        private static long distancetime = 0;
        private static  String backuptime = "";
    
        static {
            /**通过这个方法只能读取类路径下的properties文件*/
            Properties properties = new Properties();
            // 使用ClassLoader加载properties配置文件生成对应的输入流
            InputStream in = GetProperties.class.getClassLoader().getResourceAsStream("dbBackUpRecover.properties");
            // 使用properties对象加载输入流
            try {
                properties.load(in);
            } catch (IOException e) {
                e.printStackTrace();
            }
            //获取key对应的value值
            sqlurl = properties.getProperty("sqlurl");
            path = properties.getProperty("path");
            distancetime = Long.parseLong(properties.getProperty("distancetime"));
            backuptime = properties.getProperty("backuptime");
        }
    
        public static String getSqlurl() {
            return sqlurl;
        }
    
        public static void setSqlurl(String sqlurl) {
            GetProperties.sqlurl = sqlurl;
        }
    
        public static String getPath() {
            return path;
        }
    
        public static void setPath(String path) {
            GetProperties.path = path;
        }
    
        public static long getDistancetime() {
            return distancetime;
        }
    
        public static void setDistancetime(long distancetime) {
            GetProperties.distancetime = distancetime;
        }
    
        public static String getBackuptime() {
            return backuptime;
        }
    
        public static void setBackuptime(String backuptime) {
            GetProperties.backuptime = backuptime;
        }
    }
    
    • 定时时间的详细设置,调用util包中的日历,启动定时器控件(TimerManager.java)
    import java.io.IOException;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Timer;
    
    /**
     * 定时时间详细设置
     */
    public class TimerManager {
    
        //时间间隔 1天时间
        private static final long PERIOD_DAY = GetProperties.getDistancetime();
    
        //构造函数进行
        public TimerManager() throws IOException {
            //获取并处理配置文件中的时间
            /**备份的确切时间*/
            String backuptime=GetProperties.getBackuptime();
    
            String[] time=backuptime.split(":");
            int hours=Integer.parseInt(time[0]);
            int minute=Integer.parseInt(time[1]);
            int second=Integer.parseInt(time[2]);
    
            //调用util包中的日历,设置时间
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.HOUR_OF_DAY,hours);
            calendar.set(Calendar.MINUTE, minute);
            calendar.set(Calendar.SECOND, second);
    
            Date date=calendar.getTime(); //第一次执行定时任务的时间
    
            //如果第一次执行定时任务的时间 小于 当前的时间
            //此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。
            if (date.before(new Date())) {
                date = this.addDay(date, 1);
            }
    
            //启动定时器控件
            Timer timer = new Timer();
    
            OperationTimer task = new OperationTimer();
            //安排指定的任务在指定的时间开始进行重复的固定延迟执行。
            timer.schedule(task,date,PERIOD_DAY);
        }
    
        // 增加或减少天数
        public Date addDay(Date date, int num) {
            Calendar startDT = Calendar.getInstance();
            startDT.setTime(date);
            startDT.add(Calendar.DAY_OF_MONTH, num);
            return startDT.getTime();
        }
    }
    
    • 时间监听器,用于启动定时备份数据库操作 (OperationListener.java)
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    import java.io.IOException;
    
    /**
     * 时间监听器,用于定时备份数据库
     */
    public class OperationListener implements ServletContextListener {
    
        public void contextInitialized(ServletContextEvent servletContextEvent) {
    
            try {
                new TimerManager();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
    
        }
    }
    • 设置执行内容类 (OperationTimer.java)
    import java.io.IOException;
    import java.util.TimerTask;
    
    public class OperationTimer extends TimerTask {
        /**
         * The action to be performed by this timer task.
         */
        //所要执行内容
        public void run() {
            try {
                new DatabaseBackUpRecoverTime();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    • 定时备份数据库的实际操作类 (DatabaseBackUpRecoverTime)
    import java.io.*;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import static com.qihang.util.TableConstants.sqlNum;
    
    
    /**
     * 定时备份数据库
     */
    
    public class DatabaseBackUpRecoverTime {
    
        //读取配置文件中的信息
        //MySql的安装bin目录路径和dump等参数
        static String sqlurl=GetProperties.getSqlurl();
        //保存备份文件的路径及名称
        static String path=GetProperties.getPath();
    
        public DatabaseBackUpRecoverTime() throws IOException {
            backup(); // 备份数据库
            System.out.println("备份数据库成功!");
        }
    
        public static void backup(){
            try {
                //返回与当前的Java应用程序的运行时对象
                Runtime rt =Runtime.getRuntime();
                // 调用 调用mysql的安装目录的命令
                Process child = rt.exec(sqlurl);
                // 设置导出编码为utf-8。这里必须是utf-8
                // 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
                InputStream in = child.getInputStream();// 控制台的输出信息作为输入流
                InputStreamReader xx = new InputStreamReader(in, "utf-8");
                // 设置输出流编码为utf-8。这里必须是utf-8,否则从流中读入的是乱码
                String inStr;
                StringBuffer sb = new StringBuffer("");
                String outStr;
                // 组合控制台输出信息字符串
                BufferedReader br = new BufferedReader(xx);
                while ((inStr = br.readLine()) != null) {
                    sb.append(inStr + "\r\n");
                }
                outStr = sb.toString();
                // 要用来做导入用的sql目标文件:
                Date date = new Date();
                SimpleDateFormat f = new SimpleDateFormat("MM-dd");
                //注意:sqlNum为一个自定义工具类中的static类型的Date变量,自己设置即可
                sqlNum = f.format(date);
                path = path.split("-")[0]+"-"+sqlNum+".sql";
                FileOutputStream fout = new FileOutputStream(path);
                OutputStreamWriter writer = new OutputStreamWriter(fout, "utf-8");
                writer.write(outStr);
                writer.flush();
                in.close();
                xx.close();
                br.close();
                writer.close();
                fout.close();
                System.out.println("");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }
    
    • 在web.xml中配置监听器
    <!--配置定时备份数据库的监听器-->
      <listener>
        <listener-class>
          com.qihang.controller.databaseBackUpRecover.OperationListener
        </listener-class>
      </listener>
    • 若想在本模块添加手动还原数据库的方法,参考下一个模块即可
    • 该代码已在项目中通过测试,有什么问题,评论该博客即可

    手动备份与还原数据库

    • 因为做的项目中使用的是定时的备份,所以手动的备份只是测试了一下,并没有进行相关细节的完善,如果想使用本模块,对应定时备份的实现修改即可
    • 具体实现类
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.OutputStreamWriter;
    
    /**
     * 备份与还原数据库
     */
    
    @Controller
    public class DatabaseBackUpRecover {
    //    public static void main(String[] args) throws IOException{
    //        backup("d:\\d.sql");
    //        //recover("d:\\d.sql");
    //    }
    
        @RequestMapping(value = "/backupDatabase")
        public void backupDatabase() throws IOException {
            backup("d://d.sql");
        }
        public static void backup(String path) throws IOException{
            Runtime runtime = Runtime.getRuntime();
            //-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字
            Process process = runtime.exec("C://Program Files//MySQL//MySQL Server 5.5//bin//mysqldump -uroot -p12345 dk_qj_db");
            InputStream inputStream = process.getInputStream();//得到输入流,写成.sql文件
            InputStreamReader reader = new InputStreamReader(inputStream);
            BufferedReader br = new BufferedReader(reader);
            String s = null;
            StringBuffer sb = new StringBuffer();
            while((s = br.readLine()) != null){
                sb.append(s+"\r\n");
            }
            s = sb.toString();
            System.out.println(s);
            File file = new File(path);
            file.getParentFile().mkdirs();
            FileOutputStream fileOutputStream = new FileOutputStream(file);
            fileOutputStream.write(s.getBytes());
            fileOutputStream.close();
            br.close();
            reader.close();
            inputStream.close();
        }
        public static void recover(String path) throws IOException{
            Runtime runtime = Runtime.getRuntime();
            //-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字,--default-character-set=utf8,这句话一定的加
            //我就是因为这句话没加导致程序运行成功,但是数据库里面的内容还是以前的内容,最好写上完成的sql放到cmd中一运行才知道报错了
            //错误信息:
            //mysql: Character set 'utf-8' is not a compiled character set and is not specified in the '
            //C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\Index.xml' file ERROR 2019 (HY000): Can't
            // initialize character set utf-8 (path: C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\),
            //又是讨人厌的编码问题,在恢复的时候设置一下默认的编码就可以了。
            Process process = runtime.exec("mysql -u root -pmysql --default-character-set=utf8 goldenwing");
            OutputStream outputStream = process.getOutputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
            String str = null;
            StringBuffer sb = new StringBuffer();
            while((str = br.readLine()) != null){
                sb.append(str+"\r\n");
            }
            str = sb.toString();
            System.out.println(str);
            OutputStreamWriter writer = new OutputStreamWriter(outputStream,"utf-8");
            writer.write(str);
            writer.flush();
            outputStream.close();
            br.close();
            writer.close();
        }
    }
    • 该代码已在项目中通过测试,有什么问题,评论该博客即可
    展开全文
  • Java实现Oracle数据库备份

    千次阅读 2014-08-11 15:49:39
    Java实现Oracle数据库备份

            今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的:

    import java.io.File;
    import java.io.IOException;
    
    /**
     * Oracle数据库备份
     * 
     * @author GaoHuanjie
     */
    public class OracleDatabaseBackup {
    
    	/**
    	 * Java代码实现Oracle数据库导出
    	 * 
    	 * @author GaoHuanjie
    	 * @param userName 进入数据库所需要的用户名
    	 * @param password 进入数据库所需要的密码
    	 * @param SID 用户所在的SID
    	 * @param savePath 数据库导出文件保存路径
    	 * @param fileName 数据库导出文件文件名
    	 * @return 返回true表示导出成功,否则返回false。
    	 */
    	public static boolean exportDatabaseTool(String userName, String password, String SID, String savePath, String fileName) throws InterruptedException {
    		File saveFile = new File(savePath);
    		if (!saveFile.exists()) {// 如果目录不存在
    			saveFile.mkdirs();// 创建文件夹
    		}
    		try {
    			Process process = Runtime.getRuntime().exec("exp " + userName + "/" + password + "@" + SID + " file=" + savePath + "/" + fileName + ".dmp");
    			if(process.waitFor() == 0){//0 表示线程正常终止。 
    				return true;
    			}
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return false;
    	}
    
    	public static void main(String[] args) throws InterruptedException {
    		if (exportDatabaseTool("gaohuanjie", "ab19890110", "orcl", "d:/BackupDatabase", "oracledb")) {
    			System.out.println("数据库成功备份!!!");
    		} else {
    			System.out.println("数据库备份失败!!!");
    		}
    	}
    }
    展开全文
  • java 实现数据库备份和还原

    千次阅读 2018-05-16 11:46:28
    import java.io.IOException;import java.io.InputStream;.../** * 读取属性文件 * @author cf * @Title * @param */public class ReadProperties { /*   * 读取属性文件   */   public stati...
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    /**
     * 读取属性文件
     * @author cf
     * @Title
     * @param
     */
    public class ReadProperties {
    /* 
        * 读取属性文件 
        */  
       public static Properties getPprVue(String properName) {  
          InputStream inputStream = ReadProperties.class.getClassLoader()  
                .getResourceAsStream(properName);  
          Properties p = new Properties();  
        
          try {  
             p.load(inputStream);  
             inputStream.close();  
          } catch (IOException e) {  
             e.printStackTrace();  
          }  
          return p;  
       }  
       public static void main(String[] args) {
    //    Properties p = getPprVue("db.properties");
    //    System.out.println(p.getProperty("jdbc.url"));
    }
    }





    import java.io.BufferedReader;

    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Properties;


    import com.gh.LuckDrawSys.utlis.GetDate;


    /**
     * MySQL数据库备份
     * 
     * @author cf
     */
    public class MySQLDatabaseBackup {


    /**
    * Java代码实现MySQL数据库导出

    * @author cf
    * @param hostIP
    *            MySQL数据库所在服务器地址IP
    * @param userName
    *            进入数据库所需要的用户名
    * @param password
    *            进入数据库所需要的密码
    * @param savePath
    *            数据库导出文件保存路径
    * @param fileName
    *            数据库导出文件文件名
    * @param dbOrTbName
    *            要导出的数据库名 表名
    * @return 返回true表示导出成功,否则返回false。
    */
    public static boolean exportDatabaseTool(String hostIP, String userName,
    String password, String savePath, String fileName, String dbOrTbName)
    throws InterruptedException {
    File saveFile = new File(savePath);
    if (!saveFile.exists()) {// 如果目录不存在
    System.out.println("目录不存在");
    // saveFile.mkdirs();// 创建文件夹
    return false;
    }
    if (!savePath.endsWith(File.separator)) {
    savePath = savePath + File.separator;
    }


    PrintWriter printWriter = null;
    BufferedReader bufferedReader = null;
    try {
    printWriter = new PrintWriter(new OutputStreamWriter(
    new FileOutputStream(savePath + fileName), "utf8"));
    Process process = Runtime.getRuntime().exec(
    " mysqldump -h" + hostIP + " -u" + userName + " -p"
    + password + " --set-charset=UTF8 " + dbOrTbName);
    InputStreamReader inputStreamReader = new InputStreamReader(
    process.getInputStream(), "utf8");
    bufferedReader = new BufferedReader(inputStreamReader);
    String line;
    while ((line = bufferedReader.readLine()) != null) {
    printWriter.println(line);
    }
    printWriter.flush();
    if (process.waitFor() == 0) {// 0 表示线程正常终止。
    return true;
    }
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    if (bufferedReader != null) {
    bufferedReader.close();
    }
    if (printWriter != null) {
    printWriter.close();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return false;
    }


    /**
    * java实现mysql数据库还原

    * @param username 用户名
    * @param password 密码
    * @param sqlPath 还原文件路径
    * @param databaseName 数据库名称
    * @return boolean
    * @throws InterruptedException
    */
    public static boolean importDatabaseTool(String username, String password,
    String sqlPath, String databaseName) throws InterruptedException {
    // 创建数据库
    // String stmt1 = "mysqladmin -u" + username + " -p" + pwd
    // + " create finacing"; 
    String stmt2 = "mysql -u" + username + " -p" + password + databaseName
    + " < " + sqlPath;
    String[] cmd = { "cmd", "/c", stmt2 };
    try {
    // Runtime.getRuntime().exec(stmt1);
    Process p = Runtime.getRuntime().exec(cmd);
    System.out.println("命令执行完毕");
    if (p.waitFor() == 0) {// 0 表示线程正常终止。
    return true;
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    return false;
    }


    public static void main(String[] args) throws IOException,
    InterruptedException {
    // 读取数据库信息
    Properties pros = ReadProperties.getPprVue("db.properties");
    String username = pros.getProperty("jdbc.username");
    String password = pros.getProperty("jdbc.password");
    String hostIP = pros.getProperty("jdbc.ip");
    // 备份路径
    String savePath = "F:/backupDatabase";
    // 获取时间拼接备份文件名
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date date = GetDate.getTime(new Date(), 0);
    String time = sdf.format(date);
    String fileName = time + ".sql";
    // 备份数据库或者具体表
    String dbOrTbName = "cq_edu_activity record prizerecord";
    try {
    // 调用备份方法
    if (exportDatabaseTool(hostIP, username, password, savePath,
    fileName, dbOrTbName)) {
    System.out.println("数据库成功备份!!!");
    } else {
    System.out.println("数据库备份失败!!!");
    }
    } catch (InterruptedException e) {
    e.printStackTrace();
    }


    // 条用还原方法
    // if (importDatabaseTool(username, password, savePath+"/"+fileName, " cq_edu_activity")) {
    // System.out.println("数据已从 " + savePath+"/"+fileName + " 导入到数据库中");
    // }else{
    // System.out.println("数据库还原失败!!!");
    // }


    }
    }
    展开全文
  • 好用的java文件备份工具 这个工具是变备份边删除原来目录所有的备份数据。 package cn.gitv.pro.charging.lncmcc.test; import java.io.*; /** * @author * @create on 2019-12-05 10:10 */ public class ...
  • java 实现mysql备份数据库功能

    千次阅读 2018-06-27 17:54:25
    最近新的项目中有个需求,要求实现mysql远程备份数据库功能,参考网上各种文章,走了不少弯路,特此记录分享: 首先在windows 系统下面 通过命令行实现数据库备份功能如下:D:/MySQL/bin/mysqldump -h localhost -p...
  • Java实现MySQL数据库备份(一)

    千次阅读 热门讨论 2014-10-14 18:16:24
    Java实现MySQL数据库备份(一)
  • Java实现MySQL数据库备份(二)

    千次阅读 2014-10-15 13:56:02
    Java实现MySQL数据库备份(二)
  • 使用java实现自动备份mysql数据库

    千次阅读 2013-05-06 10:43:00
    在实际应用中,定时备份数据库是一件非常重要的工作,下面是关于利用java程序实现数据库自动调用的方法,其实也不一定非要用java语言了,只要原理会了,大家大可使用其他语言来实现。话不多说,下面就来演示一下如何...
  • Java实现数据备份,和还原。

    千次阅读 2018-11-08 16:34:11
    数据备份 // 数据备份 @RequestMapping(value = &quot;/addDbSecurityOne&quot;) @ResponseBody public PjResult&amp;lt;?&amp;gt; addDBbackups(@RequestBody DbSecurity obj) throws ...
  • Java代码实现备份和恢复Mysql数据库

    千次阅读 2019-05-16 15:33:46
    本篇转自https://www.jianshu.com/p/92b019fc1eff,我自己做了部分修改,以下写的是Windows环境下,...import java.io.*; import java.net.URL; public class DatabaseTool { public static void main(String[] ...
  • Java实现数据库备份-MySQL版

    千次阅读 2016-12-09 14:35:58
    java实现mysql备份数据,直接code工具类 import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import ...
  • Java文件备份操作(办公用)

    千次阅读 2018-07-13 11:00:00
    /** * @author shany * @date 2018年7月13日 上午8:44:46 * @version V1.0 */ ... import java.io.File; import java.io.FileInputStream;...import java.io.FileOutputStream;...import java.io...
  • package com.bigdata.financial.xsbassessment.test...import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException;
  • java实现mysql数据库备份和还原

    千次阅读 2013-08-15 13:43:04
    package com; import java.io.IOException; /** ... * @Description:java实现mysql数据库的备份和还原 * @author Administrator * @date 2013-8-15 */ public class testCMD2 { /**
  • Java实现Mysql数据库自动备份

    千次阅读 2017-08-17 10:36:06
    Java实现Mysql数据库自动备份 最近项目中有一个这样的需求,要求定时备份数据库。看了一些网上的资料,了解到主要思路是是使用java中的Runtime类的exec()方法,可以直接调用windows的cmd命令,参数就是...
  • java 实现mysql 的备份与恢复

    千次阅读 2008-12-07 01:28:00
    今天给大家写的内容是用Java实现MySQL的备份与恢复 backup方法是 备份 load 方法是恢复 import java.io.File;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class...
  • 从一个FTP批量复制文件至另一个FTP,再加一个定时任务就可以达到数据自动备份的效果。 首先要定义FTPOne的IP,端口,用户名,密码 以及FTPOne的路径 列如:private static String ftphost="192.0.0.1"; 再定义...
  • 多线程实现文件备份和文件压缩

    千次阅读 2014-04-23 18:22:56
    package ... import java.io.IOException; public class XianChen { public static String srcFilePath = "D://testXiancheng//上海.csv"; public static String destFilePath = "D://testXianc
  • 使用java代码实现Mysql备份 二、思路 先写好一个定时器,每隔多少时间执行一次备份 备份方法为,通过java向命令行写入命令执行 首先在cmd中模拟备份,成功之后,将命令行写入java程序 三、具体操作 (1) 命令行...
  • 业务需求:在页面上有一个日志备份功能,需要在页面上提供一个链接和一个选择框。选择框里可以选择需要...现在就是向问下在后台具体怎么实现这功能(主要就是备份5张表),求大神解答,最后能把代码写出来,万分感谢!
  • 今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: ... /** * Java代码实现向Oracle数据库中导入已备份的数据库文件 * * @author:Gaohuanjie */ public class Ora
  • Java实现Mysql的定时备份与还原

    千次阅读 2018-01-02 17:07:46
    一、数据库的定时备份备份命令Mysql的备份指令:1. 指定数据库:mysqldump -h localhost -uroot -proot tuser>d:\user_2017-12-25_15-42-10.sql tuser:数据库名 user_2017-12-25_15-42-10.sql:文件名2. 指定...
  • 最近项目里要实现一个数据库一键备份的功能,在网上找了好多类似的教程,也做了很多测试,发现网上好多教程都没有通过测试,也不符合实际的用途,于是整理了一个工具类,把他分享出来,希望能帮助到各位道友 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,369
精华内容 38,547
关键字:

java实现文件备份

java 订阅