`
lzkyo
  • 浏览: 456561 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA实现文件转移

    博客分类:
  • Java
阅读更多
/**  
     * //1.从旧文件拷贝内容到新文件  
     * //2.删除旧文件  
     * @param oldPath the path+name of old file  
     * @param newPath the path+name of new file  
     * @throws Exception  
     */  
private void transferFile(String oldPath,String newPath) throws Exception {   
           
        int byteread = 0;   
        File oldFile = new File(oldPath);   
        FileInputStream fin = null;   
        FileOutputStream fout = null;   
        try{   
            if(oldFile.exists()){   
                fin = new FileInputStream(oldFile);   
                fout = new FileOutputStream(newPath);   
                byte[] buffer = new byte[1444];   
                while( (byteread = fin.read(buffer)) != -1){   
                    logger.debug("byteread=="+byteread);   
                    fout.write(buffer,0,byteread);   
                }   
                if(fin != null){   
                    fin.close();//如果流不关闭,则删除不了旧文件   
                    this.delFile(oldFile);   
                }   
            }else{   
                throw new Exception("需要转移的文件不存在!");   
            }   
        }catch(Exception e){   
            e.printStackTrace();   
            throw e;   
        }finally{   
            if(fin != null){   
                fin.close();   
            }   
        }   
    }   
  
  
    /**  
     * 删除文件,只支持删除文件,不支持删除目录  
     * @param file  
     * @throws Exception  
     */  
    private void delFile(File file) throws Exception {   
        if(!file.exists()) {   
            throw new Exception("文件"+file.getName()+"不存在,请确认!");   
        }   
        if(file.isFile()){   
            if(file.canWrite()){   
                file.delete();   
            }else{   
                throw new Exception("文件"+file.getName()+"只读,无法删除,请手动删除!");   
            }   
        }else{   
            throw new Exception("文件"+file.getName()+"不是一个标准的文件,有可能为目录,请确认!");   
        }   
    }   
      

 

分享到:
评论

相关推荐

    用java实现的文件和文件夹拷贝和转移

    用java实现的文件和文件夹拷贝和转移

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    SpringBoot + minio实现文件切片极速上传技术源码(敢说全网整合完整度前三)

    高可用性:Minio提供了多种机制来保证数据的可靠性和可用性,包括冗余备份、数据复制和故障转移等。 安全性:Minio提供了多种安全机制来保护数据的机密性和完整性,包括SSL/TLS加密、访问控制和数据加密等。 多...

    高效Java数据访问组件Uncode-DAL全功能源码

    该组件支持多数据源配置,能够实现读写分离、主备切换、故障转移以及自动恢复机制,同时集成负载均衡和缓存策略,大幅提升数据处理性能和系统稳定性。 技术构成: - 主要编程语言:Java - 文件构成:共213个文件,...

    一个java正则表达式工具类源代码.zip(内含Regexp.java文件)

    以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...

    开发Java论坛代码

    这个系统包括数据库配置文件,以及对论坛的权限分配,用户管理,批量删除,论坛转移,合并讨论区,添加讨论区。对讨论区的维护等功能

    JAVA阶段模拟试题

    B编译出错,提示“共有类HelloWorld 必须在HelloWorld.java文件中定义”。 C运行正常,但没有输出内容 D运行时出现异常。 15java类的main方法如下所示,当程序启动运行后,用户在控制台输入“你好”,则程序将()...

    java面试800题

    Q0058 一个Java抽象类声明了一个方法并会抛出一个异常,问继承这个抽象类的子类,实现了这个方法,这个方法声明是不是一定要抛出一模一样的异常,可不可以不抛,或者抛出的异常比抽象类的异常范围大,或者小?...

    SpringBoot + minio实现文件切片极速上传技术源码

    高可用性:Minio提供了多种机制来保证数据的可靠性和可用性,包括冗余备份、数据复制和故障转移等。 安全性:Minio提供了多种安全机制来保护数据的机密性和完整性,包括SSL/TLS加密、访问控制和数据加密等。 多...

    Java虚拟机

    第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁...

    java老虎机源码-azure-libraries-for-java:适用于Java的Azure管理库

    由于我们的开发重点已转移到下一代 Azure 管理库,此存储库目前处于维护模式。 我们将继续监控此存储库并尽最大努力支持任何功能询问/错误修复,但是,请期待此存储库将逐渐淘汰(并最终弃用)并且工作将更加专注于 ...

    轻量级Java有限状态机SquirrelStateMachine.zip

    Squirrel State Machine 是基于Java的有限状态机的实现。主要实现功能包括: - 提供友好的API来构建状态机 - 提供基于注释声明状态机 - 事件驱动的状态转移 - 状态机自诊断 - 状态机导出SCXML,DOT文件 ...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    java8源码-common-insert:一个可以按规则快速批量生成测试数据并支持多种数据源类型的开发测试工具

    详情请转移到以下链接: 快速开始 整个jar包是个springboot的web项目,启动后会在本地运行一个tomcat实例,端口默认为9090,启动后浏览器中访问 1、确保本地有java8的运行时环境,然后可以直接将项目clone到本地,...

    ultransfer:Java中使用套接字的文件传输协议实现。 CLI程序,客户端服务器,选项,多线程。 用作目录删除模式,服务器将在其中存储收到的所有内容

    Java中使用套接字的文件传输协议实现。 CLI程序,客户端服务器,选项,多线程。 作为目录删除模式,服务器将在其中存储接收到的所有内容。 用法:java -jar filesender.jar [-r | -s] [-p端口] [-d DEST主机名| IP]...

    Process-Migration:Java进程迁移系统的实现

    自述文件 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 这个存储库是做什么用的? 这是一个进程迁移系统 版本 我该如何设置? 设置摘要 配置 依赖关系 数据库配置 如何运行测试 部署说明 贡献指南 ...

    基于Java+SSM的商品信息分类管理系统毕业设计(源码+说明+演示视频).zip

    【实现功能】 一、系统管理员 1)系统管理员可以定期修改自己的登录密码,以确保系统的安全性得到保障; 2)系统管理员可以对本系统中的员工用户进行添加和信息管理; 3)系统管理员可以管理本系统中的商品类别信息及...

    Java虚拟机规范(Java SE 7)

    2.13 公有设计,私有实现 ............................................. 51 第3章 为JAVA虚拟机编译 ............................................... 53 Java 虚拟机规范 — 目录 第 10 页 / 共 387 页 3.1 示例...

    SSM项目-商品信息分类管理系统的Java毕业设计(源码+说明+演示视频).zip

    【实现功能】 一、系统管理员 1)系统管理员可以定期修改自己的登录密码,以确保系统的安全性得到保障; 2)系统管理员可以对本系统中的员工用户进行添加和信息管理; 3)系统管理员可以管理本系统中的商品类别信息及...

Global site tag (gtag.js) - Google Analytics