黑马程序员技术交流社区
标题:
【记录】代码练习-File类
[打印本页]
作者:
Kevin.Kang
时间:
2015-7-23 11:43
标题:
【记录】代码练习-File类
File构造方法:
package com.kxg.file;
import java.io.File;
/*
* File类:
* 文件和目录路径名的抽象表示形式。
* 构造方法:
* public File(String pathname):根据路径得到File对象
* public File(String parent,String child):根据一个目录和一个子文件/目录得到File对象
* public File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象
*
* 三种构造方法结果都是一样的,用第一个构造方法即可。
*/
public class FileDemo {
public static void main(String[] args) {
// public File(String pathname)
// 把xiaoguang.java封装成为一个File对象。
File f =new File ("D:\\Demo\\xiaoguang.java");
// public File(String parent,String child)
File f2 = new File("D:\\Demo","xiaoguang.java2");
// public File(File parent,String child)
File f3 = new File("D:\\Demo");
File f4 = new File(f3,"xiaoguang.java3");
}
}
复制代码
作者:
Kevin.Kang
时间:
2015-7-23 13:53
本帖最后由 Kevin.Kang 于 2015-7-23 14:05 编辑
创建功能:
package com.kxg.file;
import java.io.File;
import java.io.IOException;
/*
* File类创建功能:
* public boolean createNewFile():创建文件,如果存在不创建
* public boolean mkdir():创建文件夹,如果存在就不创建
* public boolean mkdirs():创建文件夹,如果上级文件夹不存在,直接创建
*
* File类的删除功能:
* public boolean delete()
* 注意:如果创建文件或者文件夹的时候,忘记写盘符路径,默认在项目路径下。
* java中删除不走回收站
* 不能删除非空文件夹
*/
public class FileDemo2 {
public static void main(String[] args) throws IOException {
// 创建文件夹
File f = new File("D:\\Test");
System.out.println(f.mkdir());
// 在已存在文件夹内创建文件
File f2 = new File("D:\\Test\\xiaoguang.java");
System.out.println(f2.createNewFile());
// 同时创建不存在的文件夹和文件
// 出错提示:系统找不到指定的路径,不能同时创建文件夹和文件,必须先创建目录才能在此目录中创建文件
// File f3 = new File("D:\\Test2\\xiaoguang.java");
// System.out.println(f3.createNewFile());
// 同时创建不存在的文件夹
// 返回false,说明创建失败,同样也是因为上级文件夹不存在。
File f4 = new File("D:\\Test2\\Test3");
System.out.println(f4.mkdir());
// public boolean mkdirs()
File f5 = new File("D:\\Test2\\xiaoguang.java");
System.out.println(f5.mkdirs());
// 需要注意:mkdirs只能创建文件夹,xiaoguang.java不是文件,而是一个以这个命名的文件夹
// 创建文件夹和文件需要分为两个步骤才能完成。
File f6 = new File("D:\\Test2\\xiaoguang.java\\xiaoguang.java");
System.out.println(f6.createNewFile());
// public boolean delete()
f6.delete();
}
}
复制代码
作者:
Kevin.Kang
时间:
2015-7-23 14:28
重命名功能:
package com.kxg.file;
import java.io.File;
import java.io.IOException;
/*
* File类的重命名功能:
* public boolean renameTo(File dest)
*
* 绝对路径:有盘符,路径名完整的路径。
* 相对路径:没有盘符,相对于java程序的路径,在项目中。
*
* 做重命名操作时,路径相同,就重命名。
* 如果不相同重命名执行了两个操作:
* 1.重命名
* 2.剪切到绝对路径下
*/
public class FileDemo3 {
public static void main(String[] args) throws IOException {
// 封装文件
File f = new File("xiao.txt");
// 封装新文件名
File f2 = new File("guang.avi");
f.renameTo(f2);
File f3 = new File("D:\\Test\\xiao.exe");
f2.renameTo(f3);
}
}
复制代码
作者:
Kevin.Kang
时间:
2015-7-23 14:43
本帖最后由 Kevin.Kang 于 2015-7-28 14:57 编辑
判断功能:
package com.kxg.file;
import java.io.File;
import java.io.IOException;
/*
* File类的判断功能:
* public boolean isDirectory():是否是一个目录
* public boolean isFile():是否是一个标准文件
* public boolean exists():文件或目录是否存在
* public boolean canRead():是否可以读取
* public boolean canWrite():是否可以写入
* public boolean isHidden():是否隐藏
*
*/
public class FileDemo4 {
public static void main(String[] args) throws IOException {
File f = new File("xiao.pdf");
f.createNewFile();
System.out.println(f.isDirectory());
System.out.println(f.isFile());
System.out.println(f.exists());
System.out.println(f.canRead());
System.out.println(f.canWrite());
System.out.println(f.isHidden());
}
}
复制代码
作者:
耀阳圣尊
时间:
2015-7-23 14:49
赞赞
作者:
wudigod12
时间:
2015-7-23 15:23
很不错阿~
作者:
Kevin.Kang
时间:
2015-7-23 15:57
获取功能:
package com.kxg.file;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
* File类的获取功能:
* public File getAbsoluteFile():获取绝对路径
* public String getPath():获取相对路径
* public String getName():获取名称
* public long length():获取长度(字节数)
* public long lastModified():最后修改时间(毫秒值)
*
*/
public class FileDemo5 {
public static void main(String[] args) throws IOException {
File f = new File("xiao.jpg");
// public File getAbsoluteFile():获取绝对路径
System.out.println(f.getAbsolutePath());
// public String getPath():获取相对路径
System.out.println(f.getParent());
// public String getName()
System.out.println(f.getName());
// public long length()
System.out.println(f.length());
// public long lastModified()
Date d = new Date(f.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(d));
}
}
复制代码
作者:
life木子飞
时间:
2015-7-23 16:25
小康啊 你这么拼让我们怎么办
作者:
Kevin.Kang
时间:
2015-7-23 16:26
高级获取功能:
package com.kxg.file;
import java.io.File;
/*
* File类的高级获取功能:
* public String[] list():获取指定目录下的所有文件和文件夹的名称数组
* public File[] listFiles():获取指定目录下的所有文件和文件夹的File对象数组
*/
public class FileDemo6 {
public static void main(String[] args) {
// 封装目录
File f = new File("D://Test");
// 得到此目录下所有文件夹和文件的名称数组
String[] arr = f.list();
// 遍历得到每个文件夹和文件的名称字符串
for (String s : arr) {
System.out.println(s);
}
System.out.println("===============");
// 得到此目录下所有文件夹和文件的File对象数组
File[] arr2 = f.listFiles();
// 遍历File数组
for (File name : arr2) {
System.out.println(name.getName());
}
}
}
复制代码
作者:
life木子飞
时间:
2015-7-23 16:34
life木子飞 发表于 2015-7-23 16:25
小康啊 你这么拼让我们怎么办
你是用什么写的??editplus还是eclipse?
作者:
Kevin.Kang
时间:
2015-7-24 09:34
life木子飞 发表于 2015-7-23 16:34
你是用什么写的??editplus还是eclipse?
eclipse,用着比editplus方便多了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2