处理properties文件,copy文件

14 篇文章 0 订阅
<!--StartFragment -->
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;


public class ContextLoad {

public static void main(String args[]) {

//上下文加载
// ClassPathXmlApplicationContext appContext = null;
//     appContext = new ClassPathXmlApplicationContext(
//             new String[] {"system-architecture-research.xml"});
//     
//     BeanFactory factory = (BeanFactory) appContext;
//     System.out.println(factory.getBean("dataSource"));
//     System.out.println(factory.getBean("dataSource").getClass());

//得到系统换行符
// String rn = System.getProperty("line.separator");
// System.out.println("here is "+rn+" test!");

//properties文件路径src/test/test.properties
// InputStream in = Thread.currentThread().getClass().getResourceAsStream("/test/test.properties");
// Properties p = new Properties();
// try {
// if(in==null){
// System.out.println("load file error !");
// }else{
// p.load(in);
// System.out.println(p);
// System.out.println("############################");
// //文件所有的key值
// Enumeration enu = p.propertyNames();     //取出所有的key
// while( enu .hasMoreElements()){
// String temp = (String) enu.nextElement();
//     System.out.println("key="+ temp);
//     System.out.println("value="+p.getProperty(temp));
// }
// System.out.println("############################");
// }
//
// } catch (IOException e) {
// e.printStackTrace();
// }
File source = new File("D:/aaa/");
File target = new File("D:b/ccc/");

copyFile(source,target);
}

/**
 * 拷贝文件到目的地址,这里目的地址是一个目录
 * @param source
 * @param target
 * 源路径的文件(可能是不同文件层次结构的)都拷贝到了目标地址的同一个目录下
 */
public static void copyFile(File source,File target){

File targetCopy = new File(target,source.getName());
if(source.exists()){//文件或目录存在

System.out.println("copy的文件或者目录存在!!!");
if(!target.exists()){
//mkdir无法创建多级目录
target.mkdirs();//创建多级目录
}

if(source.isFile()){

InputStream in = null;
OutputStream out = null;
try {
//这里的对象必须是一个文件字符串,如果是目录,则相当于找不到file
in = new FileInputStream(source);
out = new FileOutputStream(targetCopy);
@SuppressWarnings("unused")
int readReturn;
int cacheLen = 1024;
byte cache[] = new byte[cacheLen];
//每次读取1024字节的内容到内存中,也就是1M
while((readReturn = in.read(cache)) != -1){
out.write(cache, 0,cacheLen);
out.flush();
}

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{

//对于处理流,中间可能存在一些匿名的流
//最终关闭处理流即可,被包装的流会相应的关闭
try {
if(in !=null){
//在try语句初始化in时可能存在异常
//那么in就==null,所以要进行if判断
in.close();
}
if(out !=null){
out.close();//close方法里封装了flush方法
}
} catch (IOException e) {
e.printStackTrace();
}
}

}else if(source.isDirectory()){
//如果是目录,则递归拷贝
File dirs[] = source.listFiles();
for(int i=0;i<dirs.length;i++){
copyFile(dirs[i],target);
}
}

}else{
System.out.println("copy的文件或者目录不存在!!!");
}
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值