File_API
文件的基本信息:
package cn.dym12;
import java.io.File;
/**
* 名称或路径
* getName() 得到文件名
* getPath() 返回相对路径、绝对路径
* getAbsolutePath() 返回绝对路径
* getParent() 返回父路径 不存在则返回空
* @author Administrator
*
*/
public class FileDemo03 {
public static void main(String[] args) {
File src=new File("D:\\java\\workspace\\D1\\src\\1.png");
//基本信息
System.out.println("名称:"+src.getName());
System.out.println("路径:"+src.getPath());
System.out.println("绝对路径:"+src.getAbsolutePath());
System.out.println("父路径:"+src.getParent());
System.out.println("父对象:"+src.getParentFile().getName());
}
}
文件状态:
package cn.dym12;
import java.io.File;
/**
* 文件状态
* 1、不存在:exists
* 2、存在: 文件 isFile
* 文件夹:isDirectory
*
* @author Administrator
*
*/
public class FileDemo03 {
public static void main(String[] args) {
File src=new File("src\\1.png");
System.out.println(src.getAbsolutePath());
System.out.println("是否存在:"+src.exists());
System.out.println("是否文件:"+src.isFile());
System.out.println("是否文件夹:"+src.isDirectory());
System.out.println("——————————————————————————————————");
src=new File("D:\\java\\workspace\\D1\\src\\1.png");
System.out.println(src.getAbsolutePath());
System.out.println("是否存在:"+src.exists());
System.out.println("是否文件:"+src.isFile());
System.out.println("是否文件夹:"+src.isDirectory());
System.out.println("——————————————————————————————————");
//文件状态
src=new File("src");
if(null==src||!src.exists()) {
System.out.println("文件不存在");
}else {
if(src.isFile()) {
System.out.println("文件操作");
}else {
System.out.println("文件夹操作");
}
}
}
}
length()
package cn.dym12;
import java.io.File;
/**
* 其他信息
* length() 文件的字节数
* @author Administrator
*
*/
public class FileDemo03 {
public static void main(String[] args) {
File src=new File("D:/java/workspace/D1/1.png");
System.out.println("长度:"+src.length());
src=new File("D:/java/workspace/D1");
System.out.println("长度:"+src.length());
}
}
createNewFile() 创建文件 不存在才创建
delete() 删除已经存在的文件
package cn.dym12;
import java.io.File;
import java.io.IOException;
/**
* 其他信息
* createNewFile() 创建文件 不存在才创建
* delete() 删除已经存在的文件
* @author Administrator
*
*/
public class FileDemo03 {
public static void main(String[] args) throws IOException {
File src=new File("D:/java/workspace/D1/io.txt");
boolean flag= src.createNewFile();
System.out.println(flag);
//不是文件夹 只是一个没有后缀的文件名
src=new File("D:/java/workspace/D2");
flag= src.createNewFile();
//System.out.println(flag);
//flag=src.delete();
System.out.println(flag);
//补充:con com3 操作系统的设备名,不能正确创建
}
}
实例:
package cn.dym12;
import java.io.File;
/**
* 创建目录
* 1、mkdir(): 确保上级目录存在,不存在则创建失败
* 2、mkdirs(): 上级目录可以不存在,不存在一同来创建
* @author Administrator
*
* 列出下一级
* 1、 list() 列出下级名称
* 2、 listFiles() 列出下级File对象
*
*列出所有的盘符:listRoots()
*/
public class DirDemo01 {
public static void main(String [] args) {
File dir=new File("D:/java/workspace/D1/dir/test");
//创建目录 mkdirs()
boolean flag=dir.mkdirs();
System.out.println(flag);
System.out.println("--------------------");
dir=new File("D:/java/workspace/D1");
//列出下级名称 list()
String [] subNames=dir.list();
for(String s:subNames) {
System.out.println(s);
}
//下级对象
File [] subFiles=dir.listFiles();
for(File s:subFiles) {
System.out.println(s.getAbsolutePath());
}
//所有盘符 listRoots()
File [] roots=dir.listRoots();
for(File r:roots) {
System.out.println(r.getAbsolutePath());
}
}
}
递归的实例
package cn.dym12;
/**
* 递归:方法自己调用自己
* 递归头:何时结束递归
* 递归体:重复调用
* @author Administrator
*
*/
public class DirDemo03 {
public static void main(String[] args) {
printTen(1);
}
//打印1-10 的数
public static void printTen(int n) {
if(n>10) { //递归头:结束递归
return;
}
System.out.println(n);
printTen(n+1); // 递归体:方法自己调用自己
}
}