A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【济南校区】java基础-IO流之File类

File概述
打开API,搜索File类。阅读其描述:File文件和目录路径名的抽象表示形式。即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可,那么我们就要研究研究File这个类中都有那些功能可以操作文件或者文件夹呢
File类的构造函数
File(String pathname) :将一个字符串路径封装成File对象
File(String parent,String child):传入一个父级路径和子级路径
File(File parent,String child):传入一个File类型的父级路径和子级路径
案例代码一:
[Java] 纯文本查看 复制代码
package com.itheima_01;

import java.io.File;

/*

 * File:文件和目录路径名的抽象表示形式,File 类的实例是不可变的

 *

 * 构造方法:

 * File(File parent, String child)

 * File(String pathname)

 * File(String parent, String child)  

 *

 *

 */

public class FileDemo {

public static void main(String[] args) {

//File(String pathname) :将指定的路径名转换成一个File对象

//File f = new File("D:\\a\\b.txt");


//File(String parent, String child) : 根据指定的父路径和文件路径创建File对象

//File f2 = new File("D:\\a","b.txt");


//File(File parent, String child) :根据指定的父路径对象和文件路径创建File对象

//File parent = new File("D:\\a");

//File f3 = new File(parent,"b.txt");


File f4 = new File(new File("D:\\a"),"b.txt");


}

}
File类创建和删除功能
boolean createNewFile():指定路径不存在该文件时时创建文件,返回true,否则返回false
boolean mkdir():当指定的单级文件夹不存在时创建文件夹并返回true,否则返回false  
boolean mkdirs():当指定的多级文件夹某一级文件夹不存在时,创建多级文件夹并返回true,否则返回false
boolean delete():删除文件或者删除单级文件夹
案例代码二:
[Java] 纯文本查看 复制代码
package com.itheima_01;

 

import java.io.File;

import java.io.IOException;

 

/*

 * 创建功能

 * boolean createNewFile()  

 * boolean mkdir()  

 * boolean mkdirs()  

 * 删除功能

 * boolean delete()

 *

 *  绝对路径:固定不可改变的路径,以盘符开头

 *  相对路径:相对某个参照物,不能以盘符开头

 *          在eclipse中相对路径相对应当前项目的根目录

 *  

 *  

 *  注意:删除一个文件夹,这个文件夹下面不能有其他的文件和文件夹

 

 */

public class FileDemo2 {

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

  File f = new File("d:\\a\\b.txt");//绝对路径

  File f2 = new File("a.txt");//相对路径


 //boolean createNewFile() : 当指定文件不存在时创建文件并返回true,否则返回false

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


 

//boolean mkdir()   : 当指定文件夹不存在时创建文件夹并返回true,否则返回false

File f3 = new File("b");

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


//boolean mkdirs() : 创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了

File f4 = new File("c\\d\\e");

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

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


File f5 = new File("c.txt");

System.out.println(f5.mkdir());


//boolean delete() :当指定的文件或文件夹存在时删除文件或者文件夹 并返回true,否则返回false

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

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

 

File f6 = new File("c");

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


}

}
File类的判断功能
boolean exists():判断指定路径的文件或文件夹是否存在
boolean isAbsolute():判断当前路路径是否是绝对路径
boolean isDirectory():判断当前的目录是否存在
boolean isFile():判断当前路径是否是一个文件
boolean isHidden():判断当前路径是否是隐藏文件
案例代码三:
[Java] 纯文本查看 复制代码
package com.itheima_01;

import java.io.File;

import java.io.IOException;

 

/*

 *        判断功能

 * boolean exists()  

 * boolean isAbsolute()  

 * boolean isDirectory()

         boolean isFile()  

         boolean isHidden()

 */

public class FileDemo3 {

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

//method();

//method2();

//method3();


method4();




}

 

private static void method4() {

File f = new File("d:\\a\\b.txt");

//boolean isHidden() :判断File对象指向的路径是否有隐藏属性,如果隐藏了则返回true,否则返回false


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

}

 

private static void method3() {

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

File f2 = new File("b");

//boolean isDirectory() :判断File对象指向的路径是否是文件夹,如果是则返回true,否则返回false

//boolean isFile()  : 判断File对象指向的路径是否是文件,如果是则返回true,否则返回false


//System.out.println(f.isDirectory());

//System.out.println(f2.isDirectory());


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

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

}

 

private static void method2() {

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

File f2 = new File("d:\\a\b.txt");


//boolean isAbsolute() :判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,否则返回false

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

}

 

private static void method() {

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

//f.createNewFile();


//boolean exists() : 判断文件或者文件夹是否存在,如果存在则返回true,否则返回false

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

}

}
File类的获取功能和修改名字功能
  File getAbsoluteFile():获取文件的绝对路径,返回File对象
  String getAbsolutePath():获取文件的绝对路径,返回路径的字符串
  String getParent():获取当前路径的父级路径,以字符串形式返回该父级路径
  File getParentFile():获取当前路径的父级路径,以字File对象形式返回该父级路径
  String getName():获取文件或文件夹的名称
  String getPath():获取File对象中封装的路径
  long lastModified():以毫秒值返回最后修改时间
  long length():返回文件的字节数
  boolean renameTo(File dest): 将当前File对象所指向的路径 修改为 指定File所指向的路径
案例代码四:
[Java] 纯文本查看 复制代码
 package com.itheima_01;

 

import java.io.File;

import java.io.IOException;

 

/*

 *        获取功能

         File getAbsoluteFile()  

 * String getAbsolutePath()

 * String getParent()  

 * File getParentFile()

 * String getName()

 * String getPath()  

          long lastModified()

          long length()

          修改功能:

         boolean renameTo(File dest)

 */

public class FileDemo4 {

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

//method();

//method2();

//method3();


File f = new File("d.txt");

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


//boolean renameTo(File dest) : 将当前File对象所指向的路径 修改为 指定File所指向的路径

//注意:修改的文件路径不能存在,如果存在则修改失败

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

}

 

private static void method3() {

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

File f2 = new File("d:\\a\\b.txt");

File f3 = new File("b");


//String getName() : 获取文件和文件夹的名称

//System.out.println(f.getName());

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

//System.out.println(f3.getName());


//String getPath() : 返回创建File对象时给的路径

//System.out.println(f.getPath());

//System.out.println(f2.getPath());

//System.out.println(f3.getPath());


//long lastModified() : 以毫秒值的形式返回最后修改时间

//System.out.println(f.lastModified());

//2514023311294

//Date d = new Date(2514023311294L);

//System.out.println(d.toLocaleString());


//long length() : 返回文件的字节数

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

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

}

 

private static void method2() throws IOException {

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


//File f2 = new File("b","c.txt");

//System.out.println(f2.createNewFile());


File parent = new File("b");

File f3 = new File(parent,"c.txt");

if(!parent.exists()) {

parent.mkdirs();

}

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


//String getParent()

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

//File getParentFile()

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

}

 

private static void method() {

File f = new File("d:\\a\\b.txt");

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


//File getAbsoluteFile()  :以File对象的形式返回当前File对象所有指向的绝对路径

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

//String getAbsolutePath() : 返回File对象所指向的绝对路径

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

}

 

}

如果你想了解更多黑马课程,如果你想加入黑马这个大家庭学习先进技术,光交天下好友,那就快来吧!
     黑马程序员济南中心联系电话:0531-55696830

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马