代码语言
.
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
】
文件(夹)的剪切,复制,删除,重命名的例子
作者:
Dezai.CN
/ 发布于
2011/12/5
/
1863
File.renameTo(...)也可以移动文件;但不能在不同磁盘间移动,所以我方法是先复制再删除原来的
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel;</div> <div>public class FileManipulationTest {</div> <div>public static void main(String[] args) { // TODO Auto-generated method stub File src = new File("C:/Users/leo/Desktop/yidu"); File dst = new File("C:/Users/leo/Desktop/dd/mm"); copy(src, dst,true,true);//剪切 } <div>public static boolean rename(File file,String name){ String str = file.getParent(); if(!str.endsWith(File.separator)) str += File.separator; return file.renameTo(new File(str+name)); } <div>public static void delete(File file){ if(file.isFile()){ file.delete(); }else if(file.isDirectory()){ File[] list = file.listFiles(); for(int i=0;i<list.length;i++){ delete(list[i]); } file.delete(); } } <div>@Deprecated public static void cut(File src,File dst){ copy(src, dst,true,false); delete(src); } //上面的cut方法将文件夹全部复制后再删除整个文件夹,这种方法不好。因为如果有几个文件复制失败,源文件也会都被删除了 //若要剪切应该用下面的copy方法,将参数cut设为true,它是复制一个删除一个,复制失败就不会删除源文件</div> <div>/** * * @param src:源文件(夹) * @param dst:目标文件(夹) * @param forced:如果遇到同名文件,是否覆盖 * @param cut:复制完是否删除源文件,若设为true,效果如同剪切 * 注意:dst是目标路径而不是目标路径所在的文件夹,比如要不c:\dir复制到d:\盘下,则dst应该是File("d:\dir")而不是File("d:\") */ public static void copy(File src,File dst,boolean forced,boolean cut){ if(src.isFile()){ if(!dst.isFile() || forced) try { dst.createNewFile(); _copy(src, dst); if(cut) src.delete(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else if(src.isDirectory()){ dst.mkdirs(); File[] list = src.listFiles(); for(int i=0;i<list.length;i++){ String rp = list[i].getAbsolutePath().substring(src.getAbsolutePath().length(), list[i].getAbsolutePath().length()); File dstFile = new File(dst.getAbsolutePath()+rp); copy( list[i],dstFile,forced,cut); } if(cut) src.delete(); } } private static void _copy(File src,File dst) throws IOException{ FileChannel dstfc = null; FileChannel srcfc = null; try { dstfc = new FileOutputStream(dst).getChannel(); srcfc = new FileInputStream(src).getChannel(); ByteBuffer buf = ByteBuffer.allocate(4*1024); while(srcfc.size()>srcfc.position()){ buf.clear(); srcfc.read(buf); buf.flip(); dstfc.write(buf); } } finally { try { if(dstfc != null) dstfc.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(srcfc != null) srcfc.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } </div>
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3