taoxiuyi0 2019-06-21
今天一下敲定了好几件事,不错不错,离全部完事越来越快了,哈哈
今天七夕,提前精心准备的礼物让她很开心,我也很高兴,果然,即便在一起的概率很低,但和她的交谈依然能给我那种发自内心的快乐,这就是爱情吧。
我一定要出人头地,完成对她的所有承诺。
从小目标做起,用5年赚第一个100万。
File更应该称之为路径
File有绝对路径和相对路径
File构造方法
File(String pathname):根据一个路径得到File对象
package com.test.demo001;
import java.io.File;
public class Demo009 {
public static void main(String[] args) {
File file = new File("src/com/test/demo001/ss");
//windows系统的文件路径用\【字符串中加转义字符\,即"src\\com\\test\\demo001\\ss"】
//mac使用/
System.out.println(file.exists());
File file2 = new File("src/xx.txt");
System.out.println(file2.exists());
File file3 = new File("kk");
System.out.println(file3.exists());
File file4 = new File("kk.txt");
System.out.println(file4.exists());
}
}File(String parent,String child):根据一个目录和一个子文件/目录得到File对象
package com.test.demo001;
import java.io.File;
public class Demo009 {
public static void main(String[] args) {
File file = new File("/Users/wangtao/GitHub/mycode/Test_Regex/src/xx.txt");
System.out.println(file.exists());
String parent = "/Users/wangtao/GitHub/mycode/Test_Regex/src/";
String child = "xx.txt";
File file1 = new File(parent,child);
System.out.println(file1.exists());
}
}File(File parent,String child) :根据一个父File对象和一个子文件/目录得到File对象
package com.test.demo001;
import java.io.File;
public class Demo009 {
public static void main(String[] args) {
File file = new File("/Users/wangtao/GitHub/mycode/Test_Regex/src/xx.txt");
System.out.println(file.exists());
//将parent封装成File对象可以使用File的方法,比直接让它是个字符串要好
File parent2 = new File("/Users/wangtao/GitHub/mycode/Test_Regex/src/");
String child2 = "xx.txt";
File file2 = new File(parent2,child2);
System.out.println(file2.exists());
System.out.println(parent2.exists());
}
}public boolean createNewFile():创建文件,如果没有这个文件返回true并创建,如果有这个文件了就返回false不再创建。
public boolean mkdir():创建单级文件夹,如果存在这样的文件夹,就返回false不创建了,如果不存在这样的文件夹,就返回true并创建。
public boolean mkdirs():创建多级文件夹,父文件夹若不存在会被创建出来。
package com.test.demo001;
import java.io.File;
import java.io.IOException;
public class Demo009 {
public static void main(String[] args) throws IOException{
File file = new File("aaa.txt");
System.out.println(file.createNewFile());
File file2 = new File("aaa");
System.out.println(file2.mkdir());
File file3 = new File("sss/ddd/fff/");
System.out.println(file3.mkdirs());
}
}重命名在相同路径下,就是改名;在不同路径下,就是改名并剪切。
package com.test.demo001;
import java.io.File;
import java.io.IOException;
public class Demo009 {
public static void main(String[] args) throws IOException{
//相同路径下
//重命名文件
File file1 = new File("aaa.txt");
File file2 = new File("ZZZ.txt");
System.out.println(file1.renameTo(file2));
//重命名文件夹
File file3 = new File("aaa");
File file4 = new File("ZZZ");
System.out.println(file3.renameTo(file4));
//不同路径下
//重命名文件
File file5 = new File("ZZZ.txt");
File file6 = new File("src/com/test/demo001/OOO.txt");
System.out.println(file5.renameTo(file6));
//重命名文件夹
File file7 = new File("ZZZ");
File file8 = new File("src/com/test/demo001/lll");
System.out.println(file7.renameTo(file8));
}
}删除不走回收站
删除文件夹时,文件夹必须是空的,windows系统能删带文件的文件夹,是因为它做了一个遍历
package com.test.demo001;
import java.io.File;
import java.io.IOException;
public class Demo009 {
public static void main(String[] args) throws IOException{
File file1 = new File("src/com/test/demo001/ss");
System.out.println(file1.delete());
File file2 = new File("sss");
System.out.println(file2.delete());
}
}public boolean isDirectory():判断是否为目录
public boolean isFile():判断是否是文件
public boolean exists():判断是否存在
public boolean canRead():判断是否可读
public boolean canWriter():判断是否可写
public boolean isHidden():判断是否隐藏
windows系统中,认为所有文件都是可读的,所以你用setReadable设置为false没有用。Linux则有用。
可读不是单纯的指可以打开文件,而是指能用IO流读取文件。
package com.test.demo001;
import java.io.File;
import java.io.IOException;
public class Demo009 {
public static void main(String[] args) throws IOException{
File file1 = new File("kk");
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.exists());
file1.setReadable(false);
System.out.println(file1.canRead());
file1.setWritable(true);
System.out.println(file1.canWrite());
System.out.println(file1.isHidden());
}
}public String getAbsolutePath():获取绝对路径
public String getPath():获取路径
public String getName():获取名称
public long length():获取长度【字节数】
public long lastModified():获取最后一次的修改时间,毫秒值
public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
package com.test.demo001;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo009 {
public static void main(String[] args) {
File file = new File("kk");
File file2 = new File("/Users/wangtao/GitHub/mycode/Test_Regex/kk");
// System.out.println(file.getAbsolutePath());
// System.out.println(file2.getAbsolutePath());
// System.out.println(file.getPath());
// System.out.println(file2.getPath());
// System.out.println(file.getName());
// System.out.println(file2.getName());
// System.out.println(file.length());
// System.out.println(file.lastModified());
//
// Date d = new Date(file.lastModified());
// System.out.println(d);
//
// SimpleDateFormat sdf = new SimpleDateFormat("YYYY年MM月dd日 HH:mm:ss");
// System.out.println(sdf.format(d));
File file3 = new File("src/com/test/demo001");
String[] str = file3.list();
for (String s : str) {
System.out.println(s);
}
File file4 = new File("src/com/test/demo001");
File[] files = file4.listFiles();
for (File f : files) {
System.out.println(f);
}
File file5 = new File("src/com/test/demo001/Demo002.java");
System.out.println(file5.getAbsolutePath());
}
}学递归时再搞定这个知识点
package com.test.demo001;
import java.io.File;
import java.io.FilenameFilter;
public class Demo009 {
public static void main(String[] args) {
File file = new File("src/com/test/demo001/");
String[] arr = file.list(new FilenameFilter(){
public boolean accept(File dir,String name){
File file = new File(dir,name);
return file.isFile()&&file.getName().endsWith(".txt");//只有return true的才能装进数组
}
});
for (String s : arr) {
System.out.println(s);
}
}
}