File

1 篇文章 0 订阅

 

File

 

 

 

package fileDemo;

 

import java.io.File;

import java.io.FilenameFilter;

 

/**

 *  static File[] listRoots()     列出可用的文件系统根。 

 *  String[] list()      返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。

 *  String[] list(FilenameFilter filter)  返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。

 *  File[] listFiles()   返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

 *  File[] listFiles(FileFilter filter)   返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 

 *  File[] listFiles(FilenameFilter filter)  返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

 *  

 **/

 

/**

 * @author Administrator

 *

 */

public class ListDemo {

public static void main(String[] args) {

//listRootDemo();

//listDemo();

//fileNameFilter();

//listFilesDemo();

 

}

 

/**

 * File[] listFiles()   返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

 */

private static void listFilesDemo() {

File f1 = new File("F:\\cesi\\exam\\src");

File[] files=f1.listFiles();

 

for (File file : files) {

//只能得到文件的大小,不能得到文件夹的大小

System.out.println(file.getName()+"::"+file.length());

}

}

 

 

/**

 * FileNameFilter过滤器

 */

private static void fileNameFilter() {

//创建File对象

File f1 = new File("F:\\cesi\\exam\\src\\com\\itheima");

 

//创建过滤器

String[] names=f1.list(new FilenameFilter() {

 

@Override

public boolean accept(File dir, String name) {

//System.out.println("dir"+dir+"name::s"+name);

/*if (name.endsWith(".java")) {

System.out.println("name::  "+name);

}

return true;*/

 

return name.endsWith(".java");

}

});

 

//遍历数组

for (String string : names) {

System.out.println(string);

}

}

 

/**

 * 列出该目录下所有的文件(包括不可见文件)

 */

private static void listDemo() {

//File f1 = new File("D:\\yyy");

//File f2 = new File("H:\\yyy");

File f3 = new File("D:\\yyy");         //返回null

 

String[] arr=f3.list();        //调用list方法的file对象必须是封装了一个目录,该目录必须存在(NullPointerException

if (arr.length==0) {

System.out.println("该目录为空");

return;

}

for (String string : arr) {

System.out.println(string);

}

}

 

/**

 * 列出系統有效盘符

 */

private static void listRootDemo() {

File[] list=File.listRoots();

for (File file : list) {

System.out.println(file);

}

}

}

 

 

package fileDemo;

 

import java.io.File;

import java.io.IOException;

/**

 * File类的常见方法:

 * 1、创建

 * booleancreteNewFile();在制定位置创建文件,如果该文件已经存在,则不创建,返回false

 *    与输出流不一样,输出流对象一建立就会创建文件,而且文件已经存在,就会覆盖该文件。

 * boolean mkdir();     创建目录

 * boolean mkdirs();    创建多级目录

 *2、删除

 *boolean delete();删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则该目录必须为空才能删除。 

 *   当且仅当成功删除文件或目录时,返回 true;否则返回 false.

 *          void  deleteOnExit();在程序退出时删除 

 *3、判断

 *boolean exists()    文件或目录是否存在

 *boolean isFile()    测试文件是否是一个标准文件。 

 *boolean isHidden()  测试此文件是否是一个隐藏文件。 

 * boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。 

 * boolean isDirectory()  测试是目录

 *4、获取

 *(与路径相关)

 * File   getAbsoluteFile()        返回此抽象路径名的绝对路径名形式。       file对象

 * String getAbsolutePath()        返回此抽象路径名的绝对路径名字符串。   file.toString()

 * String getPath()                将此抽象路径名转换为一个路径名字符串。相对路径

 *  File   getParentFile()          返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null

 * 如:"tang\\a.txt" =>tang"a.txt",则返回null

 * String getParent()              返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null

 * 如:"tang\\a.txt" =>tang(tang.toString()底层实现)"a.txt",则返回null 

 * String getName()                返回由此抽象路径名表示的文件或目录的名称。

 * 如:"tang\\a.txt" =>a.txt"a.txt",则返回a.txt

 * 

 * 

 * File   getCanonicalFile()       返回此抽象路径名的规范形式。

 * String getCanonicalPath()       返回此抽象路径名的规范路径名字符串。

 * long   getFreeSpace()           返回此抽象路径名指定的分区中未分配的字节数。

 

 * long   getTotalSpace()          返回此抽象路径名指定的分区大小。

 * long   getUsableSpace()         返回此抽象路径名指定的分区上可用于此虚拟机的字节数。

 *  long   lastModified()           返回此抽象路径名表示的文件最后一次被修改的时间。

 *  long   length()                 返回由此抽象路径名表示的文件的长度。 

 *  

 *  

 *  5、修改

 *  boolean renameTo(File dest)     重新命名此抽象路径名表示的文件。 

 

 * */

 

public class MethodDemo {

public static void main(String[] args) throws IOException {

File f1 = new File("D:\\BaiduYunDownload\\黑马程序员_毕向东_Java基础视频教程第20\\黑马程序员_毕向东_Java基础视频教程第20\\黑马程序员_毕向东_Java基础视频教程第20-01-IO(File概述).avi");

File f2 = new File("D:\\BaiduYunDownload\\黑马程序员_毕向东_Java基础视频教程第20\\黑马程序员_毕向东_Java基础视频教程第20\\File概述.avi");

System.out.println(f1.renameTo(f2));

 

}

 

/**

 * 修改文件名:只能修改文件

 */

private static void modify() {

File f1 = new File("a.txt");

File f2 = new File("tang.txt");

System.out.println(f1.renameTo(f2));

}

 

/**

 * 获取子、父文件、目录名

 */

private static void returnFileName() {

//获取

File f1 = new File("tang\\a.txt");           

System.out.println("File:"+f1.getParentFile());        //tang

System.out.println("String:"+f1.getParent());          //tang

System.out.println(f1.getName());                      //a.txt

 

File f2 = new File("a.txt");

System.out.println("File:"+f2.getParentFile());        //null

System.out.println("String:"+f2.getParent());   //null

System.out.println(f2.getName());   //a.txt

}

 

/**

 * 判断文件、目录

 */

private static void panduan() {

File f1 = new File("D:\\Reflect");

 

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

//判断文件对象是否是文件或者目录的时候,必须先要判断文件对象是否存在

System.out.println(f1.isDirectory());

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

System.out.println(f1.isAbsolute());

System.out.println(f1.isHidden());

}

 

/**

 * boolean delete() 删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则该目录必须为空才能删除。

 * 当且仅当成功删除文件或目录时,返回 true;否则返回 false.

 */

private static void delete() {

// D:\\tang.txt(文件夹)封装成对象

File f2 = new File("D:\\tang\\tang.txt");

File f3 = new File("D:\\tang");

File f4 = new File("D:\\tangddd");

 

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

System.out.println(f3.delete());

System.out.println(f4.delete());

}

 

/**

 * 判断文件、目录是否存在

 */

private static void test3() {

// File f1 = new File("a.txt");

File f2 = new File("b.txt");

// System.out.println(f1);

// 记住在判断文件对象是否是文件、目录的时候,必须要先判断该文件对象封装的内容是否存在

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

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

}

 

/**

 * 创建文件、文件目录

 * 

 * @throws IOException

 */

private static void test2() throws IOException {

// a.txt封装成对象

File f1 = new File("a.txt");

// 创建文件

boolean b = f1.createNewFile();

System.out.println(b);

System.out.println(f1);

 

// D:\\tang.txt(文件夹)封装成对象

File f2 = new File("D:\\tang\\tang.txt");

// 创建目录

boolean b1 = f2.mkdirs();

System.out.println(b1);

System.out.println(f2);

}

 

/**

 * 封装文件对象,封装内容(文件、目录)、文件夹对象--分隔符

 */

private static void test1() {

// D:\\封装成file对象 File.separator目录分隔符

File f = new File("D:" + File.separator);

// a.txt封装成file对象

File f2 = new File("a.txt");

 

System.out.println(f);

System.out.println(f2);

}

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值