/**
* //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项目中引入JACOB的jar文件,并编写Java代码来创建并初始化COM对象,调用其方法。同时,为了部署到服务器环境,可能还需要处理JACOB的动态链接库(DLL)文件的路径设置,确保...
在Java编程环境中,实现拖拽式文件上传是一项实用的功能,尤其在现代Web应用程序中,它提供了用户友好的交互体验。本项目是专为在MyEclipse集成开发环境中运行设计的,使得开发者能够快速理解和实现这一功能。以下是...
在给定的文件中,`NFA.java`和`DFA.java`可能是实现这两个概念的源代码文件。通过阅读和理解这些代码,你可以深入了解如何在实际编程中构建和操作FSA。同时,包含的程序设计文档将提供有关设计决策和算法流程的额外...
下面我们将详细探讨如何实现这一功能,以及相关的Java API和技术要点。 首先,我们需要引入Java的`java.io`包,因为它包含了处理文件操作的所有基本类,如`File`、`FileInputStream`、`FileOutputStream`和`...
这个压缩包可能包含了一个完整的Java Web项目,用于演示或实现文件上传功能。下面将详细讨论Java文件上传涉及的关键知识点。 1. **Servlet API**:在Java Web应用中,Servlet是处理HTTP请求的主要组件。`...
2. **watchFileTools.jar**:这是一个Java可执行文件,很可能就是该文件转移工具的主体程序,用户可以通过运行.cmd来启动它。 3. **config.properties**:这是配置文件,用户可以在这里设定文件转移的规则和其他参数...
本示例将深入探讨如何使用Java实现这些功能,涵盖关键知识点和最佳实践。 首先,我们需要了解两个核心组件:Servlet和HTTP协议。Servlet是Java中用于扩展服务器功能的接口,而HTTP协议则定义了客户端(如浏览器)与...
- 可以将上传的文件保存在服务器的临时目录,然后转移到持久化存储,如云存储服务。 - 也可以直接存储到数据库,但对大文件来说这可能不是最佳选择。 8. **性能优化**: - 分块上传:对于大文件,可以实现分块...
该项目是一款基于Java的12306转移仓库设计与实现方案,涉及75个文件,包括49个Python脚本、5个PNG图像、4个Markdown文档、3个文本文件、2个HTML5页面、2个JPEG图像、2个Docker配置文件、1个Git和1个Docker忽略文件...
在提供的"override-db"文件中,可能包含了实现上述功能的具体Java代码,包括连接管理、数据库元数据获取、结构创建和数据迁移的逻辑。如果需要进一步的分析和解释,需要查看这些源代码文件。 总之,使用Java和MySQL...
本项目是一个基于Java实现的词法分析器,能够处理用户输入的正则表达式并构建确定有限自动机(DFA),从而进行词法分析。 首先,我们来理解一下词法分析的基本概念。词法分析器,也称为扫描器或词法生成器,其主要...
在Java编程语言中,文件操作是一项基础且重要的任务,涵盖了从读取、写入到移动、复制和重命名文件等多方面。以下是一些关于Java中文件操作的关键知识点: 一、获取控制台用户输入的信息 Java 提供了 `System.in` ...
【标题】"HDU题目java实现"所涉及的知识点主要集中在使用Java编程语言解决杭州电子科技大学(HDU)在线评测系统中的算法问题。HDU是一个知名的在线编程竞赛平台,它提供了大量的算法题目供参赛者练习和提交解决方案...
总的来说,这个Java实现的项目提供了一个很好的学习资源,帮助我们理解错误检测与纠正编码的重要性以及它们在实际系统中的应用。通过分析和调试代码,不仅可以巩固理论知识,还能提升编程技能。
本项目聚焦于“基于Java的流媒体视频直播服务器设计与实现”,这涉及到多个IT领域的知识,包括音视频处理、服务器架构、Java编程以及运维等。 首先,我们要理解流媒体的概念。流媒体是指在互联网上传输的连续多媒体...
本资源提供的是一个用户自定义工作流后台的Java实现,它包括了JSP前端展示代码以及核心的工作流流转Java方法。下面将详细解释这些知识点。 首先,我们要理解什么是工作流。工作流(Workflow)是业务过程的部分或...
下面是一个简单的动态规划算法的Java实现模板: ```java public class DynamicProgramming { public int solve(int n) { // 初始化状态数组,根据问题的具体情况定义大小 int[] dp = new int[n + 1]; // 填充...
总的来说,这个Java实现的ATM系统是一个完整的模拟银行系统,涵盖了现实世界中的各种银行业务。通过这种方式,学习者可以深入了解面向对象编程和银行系统背后的业务逻辑,同时提升对Java编程的理解。每个类的设计都...