java如何实现把图片从某个文件夹中弄到其他文件夹中,求源码

 我来答
luobo708
推荐于2016-07-16 · TA获得超过282个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:82.5万
展开全部
   /*
    把c盘1.jpg文件(已存在)复制出一个2.jpg(新建的)
*/

    public static void main(String[] a) throws IOException{
        
            FileInputStream in=new FileInputStream("C:/Users/Administrator/Desktop/1.jpg");  
            FileOutputStream out= new FileOutputStream("e:/2.jpg");  
            BufferedInputStream bufferedIn=new BufferedInputStream(in);  
            BufferedOutputStream bufferedOut=new BufferedOutputStream(out);  
            byte[] by=new byte[1];
            while (bufferedIn.read(by)!=-1) {  
                bufferedOut.write(by);  
            }  
            //将缓冲区中的数据全部写出  
            bufferedOut.flush();  
            bufferedIn.close();  
            bufferedOut.close();  
            //删除源文件
            File  file = new File("C:/Users/Administrator/Desktop/1.jpg");  
            // 路径为文件且不为空则进行删除  
            if (file.isFile() && file.exists()) {  
                file.delete();  
            } 
}

仅供参考,应该还有别的更好 的方法

憨厚还超然灬东风F
2013-05-29 · 超过14用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:41.7万
展开全部
如果只是移动文件的话,File类中有个方法renameTo()可以实现文件的移动或重命名。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jim20850
推荐于2018-05-12 · 超过10用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:24.8万
展开全部
/**
* 复制单个文件, 如果目标文件存在,则不覆盖。
* @param srcFileName 待复制的文件名
* @param destFileName 目标文件名
* @return 如果复制成功,则返回true,否则返回false
*/
public static boolean copyFile(String srcFileName, String destFileName){
return CopyFileUtil.copyFile(srcFileName, destFileName, false);
}

/**
* 复制单个文件
* @param srcFileName 待复制的文件名
* @param destFileName 目标文件名
* @param overlay 如果目标文件存在,是否覆盖
* @return 如果复制成功,则返回true,否则返回false
*/
public static boolean copyFile(String srcFileName,
String destFileName, boolean overlay) {
//判断原文件是否存在
File srcFile = new File(srcFileName);
if (!srcFile.exists()){
System.out.println("复制文件失败:原文件" + srcFileName + "不存在!");
return false;
} else if (!srcFile.isFile()){
System.out.println("复制文件失败:" + srcFileName + "不是一个文件!");
return false;
}
//判断目标文件是否存在
File destFile = new File(destFileName);
if (destFile.exists()){
//如果目标文件存在,而且复制时允许覆盖。
if (overlay){
//删除已存在的目标文件,无论目标文件是目录还是单个文件
System.out.println("目标文件已存在,准备删除它!");
if(!DeleteFileUtil.delete(destFileName)){
System.out.println("复制文件失败:删除目标文件" + destFileName + "失败!");
return false;
}
} else {
System.out.println("复制文件失败:目标文件" + destFileName + "已存在!");
return false;
}
} else {
if (!destFile.getParentFile().exists()){
//如果目标文件所在的目录不存在,则创建目录
System.out.println("目标文件所在的目录不存在,准备创建它!");
if(!destFile.getParentFile().mkdirs()){
System.out.println("复制文件失败:创建目标文件所在的目录失败!" );
return false;
}
}
}
//准备复制文件
int byteread = 0;//读取的位数
InputStream in = null;
OutputStream out = null;
try {
//打开原文件
in = new FileInputStream(srcFile);
//打开连接到目标文件的输出流
out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
//一次读取1024个字节,当byteread为-1时表示文件已经读完
while ((byteread = in.read(buffer)) != -1) {
//将读取的字节写入输出流
out.write(buffer, 0, byteread);
}
System.out.println("复制单个文件" + srcFileName + "至" + destFileName + "成功!");
return true;
} catch (Exception e) {
System.out.println("复制文件失败:" + e.getMessage());
return false;
} finally {
//关闭输入输出流,注意先关闭输出流,再关闭输入流
if (out != null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (in != null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式