**
文件
**
大家都谁文件这个名词很熟悉,但我们为什么要引入文件呢?
由于文件可以用来持久的保存用用程序中的数据,而用变量和数组,集合的形式存储的数据在应用程序终止之后就会丢失(因为应用程序实在内存上运行的,运行结束后并不会保存相关数据),因此各种应用程序均需要设计文件操作。
下面我们对java文件进行操作
- 增加普通文件的4种方法:
(1) public File(String pathname) { //用的最多的
pathname:一个文件的地址+文件名
地址:可以是绝对地址 或者相对地址
(2) public File(String parent, String child) {
parent:文件的父目录:D:/Java/IoTest D:/Java/
子目录: a.txt IoTest/a.txt
(3) public File(File parent, String child) {
parent: new File(D:/Java/IoTest)
child:
(4) public File(URI uri) {
uri:唯一确定文件的字符串
D:\Java\IoTest
**/*4中创建普通文件形式*/**
// 1. File f=new File("C:\\IDEAproject\\test.txt");
//2. File f=new File("C:\\", "IDEAproject\\A.txt");
// 3 . File f=new File(new File("C:\\"), "IDEAproject\\c.txt");
//4. 在网络层面用户传入URI
File tmp=new File("C:\\IDEAproject\\test.txt");
URI uri=tmp.toURI();
System.out.println(uri);
File f=new File(uri);
try{
boolean newFile=f.createNewFile();
if (newFile){
System.out.println("创建成功");
}else{
//chuang
System.out.println("创建失败");
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建异常");
}
创建目录文件(mkdir/mkdirs):
//1. File file=new File("C://IDEAproject"+File.separator+"src");
//在父及目录不存在,目录无法创建
boolean mkdir=file.mkdir();
if (mkdir){
System.out.println("创建成功");
}else{
//chuang
System.out.println("创建失败");
}
// 2.File file=new File("C://"+File.separator+"src");
boolean mkdirs=file.mkdirs();
if (mkdirs){
System.out.println("创建成功");
}else{
//chuang
System.out.println("创建失败");
}
}
删除文件
删除普通文件(delete):
//1 File f=new File("C:\\IDEAproject\\test.txt");
//2 File f=new File("C:\\", "IDEAproject\\A.txt");
// 3 File f=new File(new File("C:\\"), "IDEAproject\\c.txt");
//4. 在网络层面用户传入URI
File tmp=new File("C:\\IDEAproject\\test.txt");
URI uri=tmp.toURI();
System.out.println(uri);
File f=new File(uri);
try{
boolean newFile=f.createNewFile();
if (newFile){
System.out.println("创建成功");
}else{
//chuang
System.out.println("创建失败");
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("创建异常");
}
/*删除普通文件*/
boolean delete=f.delete();
if(delete){
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
/*判断什么时候删除*/
}
修改文件(renameTo)
File f=new File("C:\\IDEAproject\\test.txt");
boolean b=f.renameTo(new File("C:\\IDEAproject\\test1.txt"));
if (b){
System.out.println("修改名字成功");
}else {
System.out.println("修改名字失败");
}
/*修改文件地址*/
File f=new File("C:\\IDEAproject\\test.txt");
boolean b=f.renameTo(new File("C:\\IDEAproject\\src\\test.txt"));
if (b){
System.out.println("修改名字成功");
}else {
System.out.println("修改名字失败");
}
下边是对文件的其他操作
(2)文件内容的操作 对文件内容 读 或者 写
(1)boolean exists() //表示当前路径是否存在
(2)boolean isFile() //判断当前路劲是否是文件
(3)boolean isDirectory() //判断当前是否为目录
(4)boolean isHidden() //判断是否是隐藏文件
(5)void deleteOnExit() //在程序退出时删除
(6)boolean delete() //直接删除
(7)boolean createNewFile() //创建新文件 在当前文件不存在的情况下,创建成功返回true,文件存在返回false
(8)Mkdirs() 和mkdir() //创建目录
Mkdirs 和mkdir之间的关系
new File("/tmp/one/two/three").mkdirs();
执行后, 会建立tmp/one/two/three父级目录
new File("/tmp/one/two/three").mkdir();
则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false
(9)file.getName();// 获取文件名
(10)File.getPath(); //获取相对路径
(11)getParent()//获取文件的父路径
(12)file.lastModified() //获取文件最后一次修改的时间
(13)file.getAbsolutePath();//获取绝对路径
(14)File.Length() //获取文件长度
(15)public boolean renameTo(File dest)
查找文件
把一个目录下所包含的文件 查出来
public String[] list()
首先创建一个这个目录的file对象
把目录下文件的文件名已String对象的形式,存在数组
public String[] list(FilenameFilter filter)
比较:
把符合FilenameFilter过滤规则的文件过滤处理
下边是过滤文件的
public File[] listFiles()
public File[] listFiles(FilenameFilter filter)
public File[] listFiles(FileFilter filter)