java 实现文件复制和格式更改的实例
package com.chen.lucene.image;
import java.io.file;
import java.io.fileinputstream;
import java.io.fileoutputstream;
public class change2image
{
/**复制文件
*
* @author chen_weixian
* mar 11, 2012 11:33:19 pm
* @param path 需要复制文件的路径
* @param savepath 文件保存路径(复制到的路径)
* @throws exception
*/
public void change2image(string path, string savepath) throws exception
{
file file = new file(path);
if (!file.exists())
{
system.out.println("文件不存在!");
return ;
}
// 复制到的路径如不存在就创建
file savefile = new file(savepath);
if (!savefile.exists())
{
savefile.mkdirs();
}
// 新文件全路径
string savepathnew = "";
for (file fbean : file.listfiles())
{
if (fbean.isfile())
{
system.out.println(fbean.getname() + "\t" + fbean.getabsolutepath());
// savepathnew = savepath + file.separator + fbean.getname()+ ".jpg";
// 把文件名称中含有.tbi格式的转化为.jpg格式
savepathnew = savepath + file.separator + (fbean.getname().replaceall(".tbi", ".jpg"));
// 开始复制
copy(fbean ,new file(savepathnew));
}
}
}
/**拷贝文件
*
* @author chen_weixian
* mar 11, 2012 11:31:59 pm
* @param fromfile
* @param tofile
* @throws exception
*/
private static void copy(file fromfile, file tofile) throws exception{
if (!fromfile.exists())
{
system.out.println("来源文件为空!");
}
if (!tofile.exists())
{
system.out.println("创建新文件。。");
tofile.createnewfile();
}
fileinputstream fis = new fileinputstream(fromfile);
system.out.println("fromfile :" + fromfile.getabsolutepath());
fileoutputstream fos = new fileoutputstream(tofile);
system.out.println("tofile :" + tofile.getabsolutepath());
int len = 0;
byte[] buf = new byte[1024];
while((len = fis.read(buf)) != -1){
fos.write(buf,0,len);
}
fis.close();
fos.close();
}
/** 测试
* @author chen_weixian
* mar 11, 2012 10:19:56 pm
* @param args
*/
public static void main(string[] args)
{
// string path = "e:/temp";
string path = "e:/temp/3月份数据包(1)/3月份数据包";
string savepath = "e:/temp/img";
change2image change2image = new change2image();
try
{
change2image.change2image(path, savepath);
}
catch (exception e)
{
e.printstacktrace();
}
system.out.println("完成");
}
}