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.io.InputStream;
import java.io.OutputStream;
/**
* 从maven repository把JAR包全部拷贝出来
*
* @author ZengWenfeng
* @email 117791303@QQ.COM
* @mobile 13805029595
*/
public class MavenCopyJarFile
{
public static String PATH_DEST = "d:\\lib";
/**
*
* @author ZengWenfeng
* @email 117791303@QQ.COM
* @param args
*/
public static void main(String[] args)
{
File d = new File(PATH_DEST);
d.mkdir();
File f = new File("D:\\repository\\");
File[] arrFile = f.listFiles();
if (arrFile != null && arrFile.length > 0)
{
for (int i = 0; i < arrFile.length; i++)
{
//
File curFile = arrFile[i];
//
next(curFile);
}
}
}
/**
*
* @author ZengWenfeng
* @email 117791303@QQ.COM
* @mobile 13805029595
* @param f
*/
public static void next(File f)
{
//
if (f.isDirectory())
{
File[] arrFile = f.listFiles();
//
if (arrFile != null && arrFile.length > 0)
{
for (int i = 0; i < arrFile.length; i++)
{
//
File curFile = arrFile[i];
//
next(curFile);
}
}
}
else
{
String str = f.getAbsolutePath();
// System.out.println(str);
if (str.endsWith(".jar") && !str.endsWith("javadoc.jar") && !str.endsWith("sources.jar"))
{
System.out.println(str);
//
copyFile(f.getPath(), PATH_DEST + File.separator + f.getName());
}
}
}
/**
* 拷贝文件
*
* @author ZengWenfeng
* @email 117791303@QQ.COM
* @mobile 13805029595
* @param pathSrc D:\repository\org\yaml\snakeyaml\1.27\snakeyaml-1.27.jar
* @param pathDest D:\lib\snakeyaml-1.27.jar
*/
public static void copyFile(String pathSrc, String pathDest)
{
File src = new File(pathSrc);
File dest = new File(pathDest);
InputStream is = null;
OutputStream out = null;
try
{
is = new BufferedInputStream(new FileInputStream(src));
out = new BufferedOutputStream(new FileOutputStream(dest));
byte[] flush = new byte[1024];
int len = -1;
while ((len = is.read(flush)) != -1)
{
out.write(flush, 0, len);
}
out.flush();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
is.close();
out.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}