java中的流:
以一种数据格式作为载体,将数据从硬盘到内存或者从内存到硬盘进行移动过程。
图解:
File类:
解析:file类表示文件和目录的抽象描述。根据文件换个目录所在的系统不同,其路径表示方式也不同,如果window路径使用“//”表示,如果是Linux路径使用“/”表示。
构造方法:
public class Demo09 {
public static void main(String[] args) {
//File(String)获取某路径下的目录/文件
//注意点:不管字符串以应对目录/文件是否存在路径在都能获取到File对象。
File file = new File("//C://Users//r720//Desktop//hello.java");
System.out.println(file);//C:\Users\r720\Desktop\hello.java
//File(String,String)方便获取某路径下不同目录/文件。
File file1 = new File("//C://Users//r720//Desktop//");
File file2 = new File(file1, "hello.java");
System.out.println(file2);//C:\Users\r720\Desktop\hello.java
//File(File,String)方便父级别目录进行文件操作后,再对子目录/文件进行文件操作。
File parent = new File("//C://Users//r720//Desktop//");
File file3 = new File(parent,"hello.java");
System.out.println(file3);//C:\Users\r720\Desktop\hello.java
}
}
常用功能方法;新增操作,新增目录。
public class Demo10 {
public static void main(String[] args) {
//添加目录
File file = new File("//C://Users//r720//Desktop//test.java");
//mkdir(),根据抽象路径创建目录,如果该目录不存在则返回true,
// 如果该目录在则返回false,如果父级路径不存在则返回false。
boolean b =file.mkdir();
System.out.println(b);
b= file.mkdirs();//根据抽象路径创建目录,如果该目录不存在则返回true,如果该目录存在则返回
//false,如果父级路径不存在返回true。
System.out.println(b);
//mkdir和mkdirs的区别:mkdir只能创建一个目录,mkdirs可以创建多个目录。
//注意:在目录中才能添加新目录。
}
}
新增文件:
public class Demo11 {
public static void main(String[] args) throws IOException {
File file = new File("C://Users//r720//Desktop//0817//demo.txt");
/*
返回true:如果路径中文件不存在,则返回true,创建成功。
返回false:如果路径中文件已存在,则返回false,创建失败。
出现异常IOException:父级路径不存在时,返回异常,创建失败。
*/
boolean b = file.createNewFile();
System.out.println(b);//true
}
}
判断操作:
package day16;
import java.io.File;
import java.io.IOException;
public class Demo12 {
public static void main(String[] args) throws IOException {
//判断方法
File file = new File("/Users/jim/Desktop/Work/temp/java0817/test2.txt");
//.exists() 判断文件/目录是否存在
System.out.println("exists():" + file.exists());//true
//.isDirectory() 判断是否是目录
System.out.println("isDirectory():" + file.isDirectory());//false
//.isFile() 判断是否是文件
System.out.println("isFile():" + file.isFile());//true
//.isHidden() 判断是否是隐藏
System.out.println("isHidden():" + file.isHidden());//false
System.out.println("==================");
//应用:新建某目录的文件(判断方法,新建目录,新建文件)
File parent = new File("/Users/jim/Desktop/Work/abc/java0817");
if(!parent.exists()){//如果文件的路径不存在
parent.mkdirs();//新建目录
}
//再通过构造方法组装成文件对象。
File target = new File(parent,"test2.txt");
target.createNewFile();
System.out.println("创建文件成功");
}
}
删除操作:
public class Demo13 {
public static void main(String[]args) {
//删除方法
File file = new File("//C://Users//r720//Desktop//0817//demo.txt");
/**
* delete()
* 返回true: 如果路径下的文件存在,则删除成功,返回true
* 返回false: 如果路径下的文件不存在,则删除失败,返回false。如果路径不存在,则删除失败,返回false
* 如果删除的是目录,该目录下还有文件/目录,返回false,删除失败。
* 注意1:delete()方法删除文件/目录不走回收站。
* 注意2:delete()只能删除空目录/文件。
*/
boolean b = file.delete();
//.deleteOnExit():在程序结束后,对文件进行删除操作。
file.deleteOnExit();
System.out.println(b);//true
System.out.println(file.exists());
System.out.println("删除成功");
//注意3:程序调试:程序运行结果与我预计结果不一致,找出问题所在,这个过程就是程序调试。
//实现步骤:1、设置断点 2、启动调试'Debug' 3、观察变量
}
}
}