バックアップをつくる

バックアップのとり方は、みなさんそれぞれあると思います。

ここでは、JAR ファイルを作成して、ディレクトリの .java ファイルをすべて格納する方法を提案します。

なにかというと、Java プログラムから、外部コマンドを実行するやり方のはなしです。


Runtime.getRuntime().exec(command);

普通に呼べばいいのですが、環境変数とファイル名展開が使えません

環境変数が使えないのでパスはルートから指定せねばなりません。

ファイル名展開については、指定ディレクトリからパスを割り出し、その先で指定されるファイル名を列挙します。


String dir=file.getCanonicalPath();
File srcFiles=new File(dir);
File list[]=srcFiles.listFiles();
if(list!=null)
   {
	String files="";
	for(int i=0;i<list.length;i++)
	    {
		String fn=list[i].getName();
		if(!fn.equals(".") && !fn.equals("..") && fn.endsWith(".java"))
		    {
			files+="\""+dir+"/"+fn+"\" ";
		    }
	    }
	String command="<full path to command path>"+dirName+"/"+fileName+"\" "+files;
	System.out.println(command);
	Runtime.getRuntime().exec(command);
   }
}

クラスファイルをクラスパスで指定されたディレクトリできるところに置き、java Backup . を実行します。backupディレクトリが作成され、日付のついた jar ファイルが作成され、ディレクトリの .java ファイルを圧縮・格納します。



File(s)Description
Backup.javaBackup.java
inserted by FC2 system