java.io.file()_java之java.io.File的相关方法

java.io.File的使用。

IO原理及流的分类。

文件流:FileInputStream、FileOutputStream、FileReader、FileWriter

缓存流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter

转换流:InputStreamReader、OuputStreamReader

标准输入/输出流

打印流

数据流

对象流:涉及序列化和反序列化ObjectInputStream、ObjectOutputStream

随机存取文件流:RandomAcessFile

java.io.File类:文件和目录路径名的抽象表示形式,与平台无关。

File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。

File对象可以作为参数传递给构造函数。

File类常用构造方法:

public File(String pathname)。以pathname为路径创建File对象,可以是绝对路径,也可以是相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。

public File(String parent,String child);。以parent为父路径,child为子路径创建File对象。

File的静态属性String sperator存储了当前系统的路径分隔符,在Unix中,此字段为"/",在windows中为"\\"。

访问文件名:

getName()

getPath()

getAbsoluFile()

getAbosoluPath()

getParent()

renameTo(File newName)

文件检测:

exists()

canWrite()

canRead()

isFile()

isDirectory()

获取常规文件信息:

lastModify()

length()

文件操作相关:

createNewFile()

delete()

目录操作相关:

mkDir()

list()

listFiles()

packageanno;importjava.io.File;public classTest1 {public static voidmain(String[] args) {

File f= new File("F:\\test.txt");

System.out.println(f.getName());//获取new File时的路径

System.out.println(f.getPath());//获取文件的绝对路径

System.out.println(f.getAbsolutePath());//用绝对路径包起来的File对象

System.out.println(f.getAbsoluteFile());//当前文件的父级目录

System.out.println(f.getParent());

f.renameTo(new File("F:\\test2.txt"));

File f2= new File("F:\\test2.txt");

System.out.println(f2.exists());

System.out.println(f2.isFile());

System.out.println(f2.isDirectory());//返回的是字节数

System.out.println(f2.length());

File f3= new File("F:\\test3.txt");if(!f3.exists()) {try{//创建文件

f3.createNewFile();

}catch(Exception e){

e.printStackTrace();

}finally{

System.out.println("创建完毕");

}

}//删除文件

f3.delete();

File f4= new File("F:\\test4\\name");//f.mkDir();创建单层目录//创建多层目录

if(!f4.exists()) {

f4.mkdirs();

}

File f5= new File("F:\\test4");//返回的是字符串集合,包括文件和目录

String[] l1 =f5.list();for(String l:l1){

System.out.println(l);

}//返回的是个File集合,包括目录和文件

File[] l2 =f5.listFiles();for(File l:l2){

System.out.println(l);

}

}

}

递归判断某个文件夹下的文件是文件夹还是文件。

packageanno;importjava.io.File;public classTest1 {public static voidmain(String[] args) {

File f= new File("F:\\test\\");

obtainFiles(f);

}public static voidobtainFiles(File f) {if(f.isFile()) {

System.out.println(f.getAbsolutePath()+"是文件");

}else{

System.out.println(f.getAbsolutePath()+"是文件夹");

File[] fs= f.listFiles();//获取当前目录下的文件夹或文件

if(fs!=null && fs.length>0) {for(File ff:fs) {

obtainFiles(ff);

}

}

}

}

}

输出:

F:\test是文件夹

F:\test\file1是文件夹

F:\test\file2是文件夹

F:\test\file3是文件夹

F:\test\file4是文件夹

F:\test\test1.txt是文件

F:\test\test2.txt是文件

F:\test\test3.txt是文件

F:\test\test4.txt是文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值