File类提供对针对目录和文件的读写改等一系列操作方法

创建:

public class FileDemo01 {
public static void main(String[] args) {
try {
// 创建文件
File file = new File("fileName.txt");
if (file.createNewFile()) {
System.out.println("创建成功");
} else {
System.out.println("创建失败");
} // 创建文件夹
File dir = new File("dirName");
if (dir.mkdir()) {
System.out.println("创建成功");
} else {
System.out.println("创建不成功");
} // 创建多层目录
File dirs = new File("firstDir\\secondDir\\thirdDir");
if (dirs.mkdirs()) {
System.out.println("创建成功");
} else {
System.out.println("创建不成功");
} } catch (IOException e) {
e.printStackTrace();
}
}
}

删除

public class FileDemo01 {
public static void main(String[] args) {
// 删除文件
File fileName = new File("D:\\Java_workspace\\HelloFile\\fileName.txt");
if (fileName.delete()) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
} // 删除目录,需要该目录为空
File dir = new File(
"D:\\Java_workspace\\HelloFile\\firstDir\\secondDir\\thirdDir");
if (dir.delete()) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
} // 退出时删除目录
File dir2 = new File(
"D:\\Java_workspace\\HelloFile\\firstDir\\secondDir");
dir2.deleteOnExit();
}
}

重命名

public class FileDemo01 {
public static void main(String[] args) throws IOException {
File oldFile = new File("C:\\name1.txt");
File newFile = new File("C:\\name2.txt"); // 判断文件是否存在,如果不存在,则创建,如果存在,则提示
if (!oldFile.exists()) {
oldFile.createNewFile();
System.out.println("创建成功");
} else {
System.out.println("文件已经存在");
} // 如果重命名成功,提示成功,否则提示失败
if (oldFile.renameTo(newFile)) {
System.out.println("重命名成功");
} else {
System.out.println("重命名失败");
}
}
}

其实renameTo()方法还可以移动文件夹,但是在windows下会有很多问题,慎用,详情详情点击:http://xiaoych.iteye.com/blog/149328

其他方法

public class FileDemo01 {
public static void main(String[] args) throws IOException {
File folder = new File("D:/test/Directory1/Directory11");
File file = new File("D:/test/Directory1/Directory11/File111.txt");
// System.out.println(folder.mkdirs());
// System.out.println(file.createNewFile()); /**
* 获取File对象的名称或者路径 返回String
* 输出结果:
* 对象名称:Directory11
* 对象名称:File111.txt
*
*/
System.out.println("对象名称:" + folder.getName());
System.out.println("对象名称:" + file.getName()); /**
* 获取File对象的绝对路径 返回String
* 输出结果:
* 绝对路径:D:\test\Directory1\Directory11
* 绝对路径:D:\test\Directory1\Directory11\File111.txt
*/
System.out.println("绝对路径:" + folder.getAbsolutePath());
System.out.println("绝对路径:" + file.getAbsolutePath()); /**
* 获取File对象的路径名称 返回String
* 输出结果:
* 路径名称:D:\test\Directory1\Directory11
* 路径名称:D:\test\Directory1\Directory11\File111.txt
*/
System.out.println("路径名称:" + folder.getPath());
System.out.println("路径名称:" + file.getPath()); /**
* 获取File对象的父目录 返回String
* 输出结果:
* 父目录名:D:\test\Directory1
* 父目录名:D:\test\Directory1\Directory11
*/
System.out.println("父目录名:" + folder.getParent());
System.out.println("父目录名:" + file.getParent()); /**
* 查看File对象是否存在 返回boolean
* 输出结果:
* true
*/
System.out.println(folder.exists()); /**
* 查看File对象是否可读可写 返回boolean
* 返回结果:
* 可读
* 可写
*/
if (file.canRead()) {
System.out.println("可读");
}
if (file.canWrite()) {
System.out.println("可写");
} /**
* 查看File对象的长度 返回long
* 输出结果
* 0kb
*/
System.out.println(file.length() + "kb"); /**
* 返回目录所有子文件和子目录数组 返回File[]
* 输出结果:
* Directory1
* Directory2
* Directory3
*/
File newFile = new File("D:/test");
File[] fileList = newFile.listFiles();
for (int i = 0; i < fileList.length; i++) {
System.out.println(fileList[i].getName());
}
}
}

最新文章

  1. Salesforce Apex 使用JSON数据的示例程序
  2. eclipse启动时报错 Could not create the java virtual machine
  3. commons-pool实战之 GenericObjectPool和GenericKeyedObjectPool
  4. Oracle表空间传输测试
  5. event的属性
  6. Delphi TcxTreelist 设置scrollbars 不起作用的原因
  7. Longest Palindromic Substring-----最长回文子串
  8. 给Angularjs配上Requirejs
  9. 【转】linux grep命令详解
  10. Football 概率DP poj3071
  11. 记录下本地修改php版本的过程, 本地PHP目录位置,PHP-FPM目录位置
  12. Matplotlib学习---用matplotlib画热图(heatmap)
  13. css图片根据div宽高比例自适应
  14. 会话保持及Form表单
  15. Golang 调用 Python 代码
  16. SDI core端口说明
  17. node-lessons
  18. openstack horizon 开发第三天
  19. BZOJ4066 简单题(KD-Tree)
  20. __imp___vsnprintf

热门文章

  1. 【WAP触屏】YouKu视频弹窗播放组件
  2. SpringCloud学习笔记:服务支撑组件
  3. JMC(Java Mission Control)在mac下无法启动和显示界面
  4. 基于libuv的TCP设计(一)
  5. tornodo学习之路
  6. Eclipse 常用配置和基本调试
  7. &lt;automate the boring stuff with python&gt; 正则强口令实例
  8. Java网络编程探究|乐字节
  9. qt linux下自动检测U盘热插拔
  10. LeetCode 108. 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree) 14