java如何实现增量更新_java增量更新打包工具

java如何实现增量更新_java增量更新打包⼯具
Java程序增量更新是⼀个吃⼒不讨好的⼯作,浪费了时间不说,还很容易出现漏掉⽂件、错放⽂件位置等问题。如果有⼀个⽐较好的管理机制,把这些事情交给程序⾃动处理就省事的多了。
⼯具尚不成熟,不过⽤起来⽐⼿动去选择增量⽂件要⽅便的多。下⾯就直接上代码了。
⼯具包括三个⼯具类,⼀个配置⽂件,⼀个程序启动类,具体如下:
⽂件⼯具类
Java代码
packagecn.lihua.util;
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.nio.channels.FileChannel;
publicclassFileUtil {
publicstaticlongcopyFile1(File srcFile, File destDir, String newFileName) {
longcopySizes =0;
if(!ists()) {
System.out.println("源⽂件不存在");
copySizes = -1;
}elseif(!ists()) {
System.out.println("⽬标⽬录不存在");
copySizes = -1;
}elseif(newFileName ==null) {
System.out.println("⽂件名为null");
copySizes = -1;
}else{
try{
野外焊接钢轨
BufferedInputStream bin =newBufferedInputStream(
newFileInputStream(srcFile));
BufferedOutputStream bout =newBufferedOutputStream(
newFileOutputStream(newFile(destDir, newFileName)));
intb =0, i =0;
while((b = ad()) != -1) {
bout.write(b);
i++;
}
bout.flush();
bin.close();
bout.close();
copySizes = i;
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();双导程蜗杆
}
}
returncopySizes;
}
publicstaticlongcopyFile2(File srcFile, File destDir) { longcopySizes =0;
if(!ists()) {
System.out.println("源⽂件不存在");
return-1;
}
try{
FileChannel fcin =newFileInputStream(srcFile).getChannel(); FileChannel fcout =newFileOutputStream(destDir).getChannel(); longsize = fcin.size();
fcin.close();
fcout.close();
copySizes = size;
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
returncopySizes;
}
publicstaticvoidcopyDict(File source, File target,longlast,String target_pack) {
File[] file = source.listFiles();
for(inti =0; i
蓄电池隔板if(file[i].getName().contains("svn")){
continue;
}
if(file[i].isFile()) {
if(file[i].lastModified()>=last){
if((file[i].getName().endsWith(".l")||file[i].getName().endsWith(".class"))&& notEmpty(target_pack)&&!AbsolutePath().contains(target_pack)){ continue;
}
System.out.AbsolutePath());
File sourceDemo =AbsolutePath() +"/"
+ file[i].getName());
File destDemo =AbsolutePath() +"/"
+ file[i].getName());
copyFile2(sourceDemo, destDemo);
}
}
if(file[i].isDirectory()) {
永磁铁氧体File sourceDemo =AbsolutePath() +"/"
+ file[i].getName());
File destDemo =AbsolutePath() +"/"
+ file[i].getName());
destDemo.mkdir();
copyDict(sourceDemo, destDemo,last,target_pack);
}
}
}
publicstaticbooleannotEmpty(String str) {
returnstr!=null&&!str.isEmpty();
}
本振频率publicstaticvoiddeleteEmptyDir(File dir) {
if(dir.isDirectory()) {
File[] fs = dir.listFiles();
if(fs !=null&& fs.length >0) {
for(inti =0; i
File tmpFile = fs[i];
if(tmpFile.isDirectory()) {
deleteEmptyDir(tmpFile);
}
if(tmpFile.isDirectory() && tmpFile.listFiles().length <=0) {
tmpFile.delete();
}
}
}
if(dir.isDirectory() && dir.listFiles().length ==0) {
dir.delete();
}
}
折弯机上模}
publicstaticvoidmain(String[] args) {
String [] s ="127.0.0.1 - - [14/Sep/2012:11:27:10 +0800] POST /newkyhb/sys/loginlognews.action HTTP/1.1 200 356 0.03
for(String string : s) {
System.out.println(string);
}
}
}
package cn.lihua.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class FileUtil {
public static long copyFile1(File srcFile, File destDir, String newFileName) { long copySizes = 0;
if (!ists()) {
System.out.println("源⽂件不存在");
copySizes = -1;
} else if (!ists()) {
System.out.println("⽬标⽬录不存在");
copySizes = -1;
} else if (newFileName == null) {
System.out.println("⽂件名为null");
copySizes = -1;
} else {
try {
BufferedInputStream bin = new BufferedInputStream(
new FileInputStream(srcFile));
BufferedOutputStream bout = new BufferedOutputStream(
new FileOutputStream(new File(destDir, newFileName)));
int b = 0, i = 0;
while ((b = ad()) != -1) {
bout.write(b);
i++;
}
bout.flush();
bin.close();
bout.close();
copySizes = i;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {

本文发布于:2024-09-21 12:30:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/178272.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:增量   程序   漏掉   位置   处理   错放   事情
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议