/**
* //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 Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...
高可用性:Minio提供了多种机制来保证数据的可靠性和可用性,包括冗余备份、数据复制和故障转移等。 安全性:Minio提供了多种安全机制来保护数据的机密性和完整性,包括SSL/TLS加密、访问控制和数据加密等。 多...
该组件支持多数据源配置,能够实现读写分离、主备切换、故障转移以及自动恢复机制,同时集成负载均衡和缓存策略,大幅提升数据处理性能和系统稳定性。 技术构成: - 主要编程语言:Java - 文件构成:共213个文件,...
以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...
这个系统包括数据库配置文件,以及对论坛的权限分配,用户管理,批量删除,论坛转移,合并讨论区,添加讨论区。对讨论区的维护等功能
B编译出错,提示“共有类HelloWorld 必须在HelloWorld.java文件中定义”。 C运行正常,但没有输出内容 D运行时出现异常。 15java类的main方法如下所示,当程序启动运行后,用户在控制台输入“你好”,则程序将()...
Q0058 一个Java抽象类声明了一个方法并会抛出一个异常,问继承这个抽象类的子类,实现了这个方法,这个方法声明是不是一定要抛出一模一样的异常,可不可以不抛,或者抛出的异常比抽象类的异常范围大,或者小?...
高可用性:Minio提供了多种机制来保证数据的可靠性和可用性,包括冗余备份、数据复制和故障转移等。 安全性:Minio提供了多种安全机制来保护数据的机密性和完整性,包括SSL/TLS加密、访问控制和数据加密等。 多...
第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁...
由于我们的开发重点已转移到下一代 Azure 管理库,此存储库目前处于维护模式。 我们将继续监控此存储库并尽最大努力支持任何功能询问/错误修复,但是,请期待此存储库将逐渐淘汰(并最终弃用)并且工作将更加专注于 ...
Squirrel State Machine 是基于Java的有限状态机的实现。主要实现功能包括: - 提供友好的API来构建状态机 - 提供基于注释声明状态机 - 事件驱动的状态转移 - 状态机自诊断 - 状态机导出SCXML,DOT文件 ...
但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...
详情请转移到以下链接: 快速开始 整个jar包是个springboot的web项目,启动后会在本地运行一个tomcat实例,端口默认为9090,启动后浏览器中访问 1、确保本地有java8的运行时环境,然后可以直接将项目clone到本地,...
Java中使用套接字的文件传输协议实现。 CLI程序,客户端服务器,选项,多线程。 作为目录删除模式,服务器将在其中存储接收到的所有内容。 用法:java -jar filesender.jar [-r | -s] [-p端口] [-d DEST主机名| IP]...
自述文件 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 这个存储库是做什么用的? 这是一个进程迁移系统 版本 我该如何设置? 设置摘要 配置 依赖关系 数据库配置 如何运行测试 部署说明 贡献指南 ...
【实现功能】 一、系统管理员 1)系统管理员可以定期修改自己的登录密码,以确保系统的安全性得到保障; 2)系统管理员可以对本系统中的员工用户进行添加和信息管理; 3)系统管理员可以管理本系统中的商品类别信息及...
2.13 公有设计,私有实现 ............................................. 51 第3章 为JAVA虚拟机编译 ............................................... 53 Java 虚拟机规范 — 目录 第 10 页 / 共 387 页 3.1 示例...
【实现功能】 一、系统管理员 1)系统管理员可以定期修改自己的登录密码,以确保系统的安全性得到保障; 2)系统管理员可以对本系统中的员工用户进行添加和信息管理; 3)系统管理员可以管理本系统中的商品类别信息及...