代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
文件拷贝
作者:
/ 发布于
2011/1/14
/
522
<div><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.</span><span style="color: #000000">*</span><span style="color: #000000">; </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.util.ArrayList; </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.util.List; </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> FileCopy { </span><span style="color: #0000ff">private</span><span style="color: #000000"> String message </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">""</span><span style="color: #000000">; </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getMessage() { </span><span style="color: #0000ff">return</span><span style="color: #000000"> message; } </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> setMessage(String message) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.message </span><span style="color: #000000">=</span><span style="color: #000000"> message; } </span><span style="color: #008000">/**</span><span style="color: #008000"> * 将源文件拷贝到目标文件 * * </span><span style="color: #808080">@param</span><span style="color: #008000"> src * 写源文件地址,需文件名 * </span><span style="color: #808080">@param</span><span style="color: #008000"> des * 写目标文件地址,无需文件名 </span><span style="color: #008000">*/</span><span style="color: #000000"> </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">boolean</span><span style="color: #000000"> copyFile(String src, String des) { File srcFile </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> File(src); File desDir </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> File(des); File desFile </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> File(des </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> srcFile.getName()); </span><span style="color: #008000">//</span><span style="color: #008000"> 判断源文件是否存在 </span><span style="color: #008000"> </span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">srcFile.exists()) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(</span><span style="color: #000000">"</span><span style="color: #000000">源文件不存在!</span><span style="color: #000000">"</span><span style="color: #000000">); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } </span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">srcFile.isFile()) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(</span><span style="color: #000000">"</span><span style="color: #000000">源文件格式错!</span><span style="color: #000000">"</span><span style="color: #000000">); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } </span><span style="color: #008000">//</span><span style="color: #008000"> 判断源文件是否存在 </span><span style="color: #008000"> </span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">desDir.exists()) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(</span><span style="color: #000000">"</span><span style="color: #000000">目标目录不存在!</span><span style="color: #000000">"</span><span style="color: #000000">); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } </span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">desDir.isDirectory()) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(</span><span style="color: #000000">"</span><span style="color: #000000">不是有效的目录!</span><span style="color: #000000">"</span><span style="color: #000000">); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } BufferedReader reader </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">; BufferedWriter writer </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">; String str; </span><span style="color: #0000ff">try</span><span style="color: #000000"> { reader </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BufferedReader(</span><span style="color: #0000ff">new</span><span style="color: #000000"> FileReader(srcFile)); writer </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> BufferedWriter(</span><span style="color: #0000ff">new</span><span style="color: #000000"> FileWriter(desFile)); </span><span style="color: #008000">//</span><span style="color: #008000"> 判断目标文件是否存在及其格式,不存在就创建,格式不对先删除,存在就替代 </span><span style="color: #008000"> </span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">desFile.exists() </span><span style="color: #000000">||</span><span style="color: #000000"> </span><span style="color: #000000">!</span><span style="color: #000000">desFile.isFile()) { </span><span style="color: #0000ff">if</span><span style="color: #000000"> (desFile.exists()) { desFile.delete(); } desFile.createNewFile(); } </span><span style="color: #008000">//</span><span style="color: #008000"> 从源文件读取数据,并写入目标文件 </span><span style="color: #008000"> </span><span style="color: #000000"> str </span><span style="color: #000000">=</span><span style="color: #000000"> reader.readLine(); </span><span style="color: #0000ff">while</span><span style="color: #000000"> (str </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">) { writer.write(str); writer.newLine(); str </span><span style="color: #000000">=</span><span style="color: #000000"> reader.readLine(); } } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (IOException e) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(e.getMessage()); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } </span><span style="color: #0000ff">finally</span><span style="color: #000000"> { </span><span style="color: #0000ff">if</span><span style="color: #000000"> (reader </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">) { </span><span style="color: #0000ff">try</span><span style="color: #000000"> { reader.close(); } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (IOException e) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(e.getMessage()); } } </span><span style="color: #0000ff">if</span><span style="color: #000000"> (writer </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">) { </span><span style="color: #0000ff">try</span><span style="color: #000000"> { writer.close(); } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (IOException e) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(e.getMessage()); } } } </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">; } </span><span style="color: #0000ff">private</span><span style="color: #000000"> List fileList </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> ArrayList(); </span><span style="color: #008000">/**</span><span style="color: #008000"> * 列出所有文件 * </span><span style="color: #808080">@param</span><span style="color: #008000"> srcFile </span><span style="color: #008000">*/</span><span style="color: #000000"> </span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> file(File srcFile) { </span><span style="color: #0000ff">if</span><span style="color: #000000"> (srcFile.isDirectory()) { String[] files </span><span style="color: #000000">=</span><span style="color: #000000"> srcFile.list(); </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> files.length; i</span><span style="color: #000000">++</span><span style="color: #000000">) { File f </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> File(srcFile </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> files[i]); </span><span style="color: #008000">//</span><span style="color: #008000"> 如果是文件加入列表,否则递归列出 </span><span style="color: #008000"> </span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (f.isFile()) { fileList.add(f); } </span><span style="color: #0000ff">else</span><span style="color: #000000"> file(f); } }</span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(srcFile.getAbsolutePath()</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">不是目录</span><span style="color: #000000">"</span><span style="color: #000000">); } </span><span style="color: #008000">/**</span><span style="color: #008000"> * 建立目录 * </span><span style="color: #808080">@param</span><span style="color: #008000"> des * </span><span style="color: #808080">@throws</span><span style="color: #008000"> IOException </span><span style="color: #008000">*/</span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> mkdir(File des) { </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">des.exists() </span><span style="color: #000000">||</span><span style="color: #000000"> </span><span style="color: #000000">!</span><span style="color: #000000">des.isDirectory()) { mkdir(des.getParentFile()); </span><span style="color: #0000ff">if</span><span style="color: #000000"> (des.exists()) { des.delete(); } des.mkdir(); } } </span><span style="color: #008000">/**</span><span style="color: #008000"> * 复制目录 将源目录下所有文件拷贝到目标目录下 * </span><span style="color: #808080">@param</span><span style="color: #008000"> src 源目录 * </span><span style="color: #808080">@param</span><span style="color: #008000"> des 目标目录 </span><span style="color: #008000">*/</span><span style="color: #000000"> </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">boolean</span><span style="color: #000000"> copyDir(String src, String des) { File srcFile </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> File(src); </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">srcFile.exists()) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(</span><span style="color: #000000">"</span><span style="color: #000000">源目录不存在!</span><span style="color: #000000">"</span><span style="color: #000000">); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } </span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">srcFile.isDirectory()) { </span><span style="color: #0000ff">this</span><span style="color: #000000">.setMessage(src</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">不是有效的目录!</span><span style="color: #000000">"</span><span style="color: #000000">); </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } file(srcFile); </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> fileList.size(); i</span><span style="color: #000000">++</span><span style="color: #000000">) { String srcName </span><span style="color: #000000">=</span><span style="color: #000000"> ((File) fileList.get(i)).getPath(); String desName </span><span style="color: #000000">=</span><span style="color: #000000"> srcName.substring(src.length(), srcName.length()); desName </span><span style="color: #000000">=</span><span style="color: #000000"> des </span><span style="color: #000000">+</span><span style="color: #000000"> desName; File dir</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000"> File(desName).getParentFile(); mkdir(dir); </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">!</span><span style="color: #000000">copyFile(srcName, dir.getPath())){ </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">; } } </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">; } </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) { FileCopy t </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> FileCopy(); System.out.println(t.copyFile(</span><span style="color: #000000">"</span><span style="color: #000000">D:/aaa.txt</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">E:</span><span style="color: #000000">"</span><span style="color: #000000">)); String src</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">D:/asdf</span><span style="color: #000000">"</span><span style="color: #000000">; String des</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">E:/adf</span><span style="color: #000000">"</span><span style="color: #000000">; System.out.println(t.copyDir(src, des)); System.out.println(t.getMessage()); } } </span> </div>
试试其它关键字
文件拷贝
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
实现测量程序运行时间及cpu使用时间
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3