IO流----File类的常用方法

package com.qf.day18_3;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Date;
/**
 * File类
 *
 * @author wgy
 *
 */
public class Demo1 {

	public static void main(String[] args) throws Exception {
		// separator();
		// fileConstructor();
		//fileOpe();
		//rename();
		directoryOpe();
//		rename2();
		//listFiles();
	}

	// 分隔符
	public static void separator() {
		// 路径分隔符
		System.out.println(File.pathSeparator);
		System.out.println(File.pathSeparatorChar);
		// 名称分隔符
		System.out.println(File.separator);
		System.out.println(File.separatorChar);
	}

	// File构造方法
	public static void fileConstructor() {
		// 创建File对象
		File myFile = new File("d:\\image\\haha.jpg");
		File myFile2 = new File("d:\\image", "4.jpg");
		File parent = new File("d:\\image");
		File myFile3 = new File(parent, "4.jpg");
		File myFile4 = new File(parent, "haha.jpg");
		File myFile5 = new File("d:\\xxx\\yyy\\a.jpg");

		System.out.println(myFile);
		System.out.println(myFile2);
		System.out.println(myFile5);

	}

	/**
	 * 文件操作 创建 删除 判断 获取 重命名
	 */
	public static void fileOpe() throws Exception {
		// 创建File对象 绝对路径 相对路径
		File file = new File("d:\\a.txt");

		// 1创建(如果文件不存在,则创建返回true,如果存在则不创建,返回false)
		boolean b = file.createNewFile();
		System.out.println("创建文件" + b);
		// 2删除
		// 2.1直接删除
		 boolean b2=file.delete();
		// System.out.println("删除文件"+b2);
		// 2.2jvm删除 (没有直接删除,当jvm退出时删除)
		// file.deleteOnExit();
		// Thread.sleep(5000);
		// 3判断
		System.out.println("canExecute()" + file.canExecute());// 是否可执行
		System.out.println("canRead()" + file.canRead());// 是否可读
		System.out.println("canWrite()" + file.canWrite());// 是否可写
		System.out.println("exists()" + file.exists());// 是否存在
		System.out.println("isAbsolute()" + file.isAbsolute());// 是否是绝对路径
		System.out.println("isFile()" + file.isFile());// 是否是文件
		System.out.println("isHidden()" + file.isHidden());// 是否是隐藏
		// 4获取
		System.out.println(file.getAbsolutePath()); // 获取绝对路径名 //字符串
		System.out.println(file.getAbsoluteFile()); // 获取绝对文件名称 返回类型File
		System.out.println(file.getCanonicalPath());// 获取规范绝对路径名
		System.out.println(file.getName()); // 获取文件名
		System.out.println(file.getPath()); // 获取路径

		System.out.println(new Date(file.lastModified()).toLocaleString());// 文件最后修改日期
		System.out.println(file.length()); // 文件长度

	}
	/**
	 * 文件重命名
	 */
	public static void rename(){
		File file=new File("d:\\a.txt");
		File newFile=new File("d:\\mywork\\b.txt");
		file.renameTo(newFile);//修改名称
	}
	/**
	 * 文件夹操作  创建 删除 判断 获取 重命名
	 */
	public static void directoryOpe(){
		//创建File
		File dir=new File("d:\\xxx\\yyy\\zzz");
		//1创建
		//boolean b=dir.mkdir();//创建一级文件夹
		boolean b2=dir.mkdirs();//创建多级文件夹
		System.out.println(b2);
		//2删除
		//2.1直接删除 (只能删除一级 ,只能是空目录)
//		boolean b3=dir.delete();
//		System.out.println(b3);
		//2.2jvm删除
		//dir.deleteOnExit();
		//3判断
		System.out.println("exists()"+dir.exists()); //是否存在
		System.out.println("isAbsolute()"+dir.isAbsolute());//是否是绝对路径
		System.out.println("isDirectory()"+dir.isDirectory());//是否是目录
		System.out.println("isHidden()"+dir.isHidden());//是否是隐藏
		//4获取
		System.out.println("getAbsolutePath"+dir.getAbsolutePath()); //获取绝对路径
		System.out.println("getName()"+dir.getName());
		System.out.println("getPath()"+dir.getPath());
		//System.out.println("lastModified"+dir.lastModified());

		//
	}
	/**
	 * 文件夹重命名
	 */
	public static void rename2(){
		File dir=new File("d:\\xxx\\yyy\\zzz");
		File newDir=new File("d:\\xxx\\yyy\\hahah");
		dir.renameTo(newDir);
	}
	/**
	 * 列出文件夹下面的文件和子文件
	 */
	public static void listFiles(){
		//1列出所有的
		File dir=new File("D:\\image");
//		String[] files=dir.list();
//		for (String string : files) {
//			System.out.println(string);
//		}
		//2过滤文件
		String[] files2=dir.list(new FilenameFilter() {
			public boolean accept(File dir, String name) {
				// TODO Auto-generated method stub
				if(name.endsWith(".png")){
					return true;
				}
				return false;
			}
		});
		for (String string : files2) {
			System.out.println(string);
		}
	}

}

File递归删除文件夹中的所有内容



import java.io.File;

public class Demo4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		delDir(new File("d:\\xxx"));
	}
	public static void delDir(File dir){
		File[] files = dir.listFiles();
		if(files!=null){
			for (File file : files) {
				if (file.isDirectory()) {
					delDir(file);
				}else {
					System.out.println(file.toString()+file.delete());//删除文件
				}
			}
			System.out.println(dir.toString()+dir.delete());//删除目录
		}
	}
}

File类递归遍历文件夹

// level用来记录当前递归的层次
public static void listChilds(File f, int level) {
    // 生成有层次感的空格
    StringBuffer sb = new StringBuffer("|--");
    for (int i = 0; i < level; i++) {
        sb.insert(0, "|  ");
    }

    File[] childs = f.listFiles();
    // 递归出口
    int length = childs == null ? 0 : childs.length;
    for (int i = 0; i < length; i++) {
        System.out.println(sb.toString() + childs[i].getName());
        if(childs[i].isDirectory()){
            listChilds(childs[i], level + 1);
        }
    }
}
时间: 2024-10-24 14:08:21

IO流----File类的常用方法的相关文章

Java—IO流 File类的常用API

File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目录)是否存在 if(!file.exists()) { //

Java第三阶段学习(一、IO流------File类)

一.IO概述: 把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作.JAVA软件往电脑硬盘上走叫输出. 把硬盘中的数据读取到到内存里叫做:输入(读)Input操作.电脑硬盘上往JAVA软件里走叫输入. 以JAVA软件为参照物. 这种输入输出的动作叫做IO操作. 二.File类(文件类) 2.1定义:File是文件和目录(文件夹)路径名的抽象表现形式,即:JAVA把文件和目录都封装为File对象. 2.2构造函数: //File构造方法无法判定你写的这个文件是否真的存在 //

java io包File类

1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对象文件. file类的几个常用方法:file.canRead() boolean ,file.canWrite() boolean,file.canExecute() boolean,file.createNewFile() boolean.(1)file.createNewFile() boole

JAVA之IO技术File类的使用

package ioTest.io3; /* * File类是对文件和文件夹的抽象. * File类的常见方法: * 1.创建 * createNewFile():在指定的位置创建文件,如果该文件已经存在,则不创建,返回false. * 和输出流对象不一样,输出流对象,只要已建立就创建,如果文件存在,则覆盖. * mkdir():创建此抽象路径名指定的目录 * mkdir():创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. * 2.删除 * delete() * deleteOnEx

Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)

第一讲     File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变 4)File对象可以作为参数传递给流的构造函数 二.File对象创建 方式一: File f =new File("a.txt"); 将a.txt封装成File对象.可以将已有的和未出现的文件或者文件夹封装成对象. 方式

黑马程序员——Java基础---IO(三)--File类、Properties类、打印流、序列流(合并流)

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作,因此是对流操作的一种补充 3)File类的实例是不可变的:也就是说,一旦创建,

探究java IO之File类

尽管java.io定义的大多数类用于操作流,但File类却不是.File类直接处理文件和文件系统.也就是说,File类没有指定如何从文件检索信息以及如何向文件中存储信息,而是描述了文件本身的属性.File对象用于获取和操作与磁盘文件关联的信息,例如权限,时间日期以及目录路径,并且还可以浏览子目录层次. 注意:由JDK7为NIO系统增加的Path接口和File类,在许多情况下都为File类提供了强大的替换方案,具体看后面的NIO章节. 下面的构造函数可以用于创建File对象: File(Strin

I/O流——File类及使用

I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ①   一个File类的对象,表示了磁盘上的文件或目录. ②   File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作. ③   File类直接处理文件和文件系统.比如删除文件,获取文件长度大小信息. ④   File类没有提供方法从文件中读取或向文件中存储信息. ⑤   构造方法: a)         File

黑马程序员--io之File类

--Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- io中文件的操作 File f=new File("c:/a"); 1:关于文件的操作,文件的创建:createNewFile ,文件的删除:delete 返回的值都是boolean 2:判断文件是否存在 : exists() 返回boolean ,创建文件夹 : mkdir() 创建一级目录 mkdirs() 创建多个目录 3:判断是否是文件 : isFile() 返回boolean 判断是否是文件