JAVA-IO流笔记整理----(1)文件类File

一、文件,什么是文件?

        文件就是保存数据的地方,例如经常使用的Word文件,Excel等都是文件,既可以保存一张图片,也可以保存视频,声音...

1、文件流

文件在程序中是以流的形式来操作的

流:数据在数据源(文件)和程序(内存)之间经历的路径

输入流:数据从数据源(文件)到程序(内存)的路径

输出流:数据从程序(内存)到数据源(文件)的路径

2、文件类File

File类描述了文件本身的属性,它直接处理文件和文件系统。File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。

常用方法及解释:

exists():判断文件否存在

isFile():判断是否为文件

isDirectory():判断是否为文件夹

mkdir():创建目录,mkdirs():创建多级目录

createNewFile():创建一个新文件,文件内容为空

getName():获取文件名称

getPath():获取文件相对路径

getAbsolutePath():获取文件绝对路径

getParent():获取父级文件路径,如没有指定父目录,则返回null

length():表示文件的长度大小,字节

list():返回一个字符串数组,指定此路径名表示的目录中的文件或目录

listFiles():返回一个抽象路径名数组,表示目录中的文件

delete():删除路径名表示的文件或目录,当前目录下包含文件夹或文件的(非空)目录不能直接删除,要把里面的文件依次删除之后才可删除当前目录。

renameTo(File dest):重命名此抽象路径表示的文件

操作:(1)创建文件对象相关构造器和方法:3种常用方法

package io;

import java.io.File;
import java.io.IOException;

public class Ddd {

	public static void main(String[] args) throws IOException {
		//创建File对象 的3种常用方法
		
		// 1、new File(String pathname)
	/*	  File file1 = new File("f:\\anzhuo\\a.txt"); 
		  file1.createNewFile();*/
		 
		// 2、new File(File parent,String child)
	/*	 File file2 = new File("f:\\anzhuo","a.txt"); 
		 file2.createNewFile();*/
		 
		// 3、new File(String parent,String child)
	     File file = new File("f:\\anzhuo");
		 File file3 = new File(file, "a.txt");
		 file3.createNewFile();
	}

}

(2) File对象方法使用:

import java.io.File;
import java.io.IOException;

public class FileDemo {

	public static void main(String[] args) throws IOException {
		File f=new File("F:/a/b/c/txt");//创建一个File对象
		if(f.exists()) {//判断文件是否存在
			System.out.println(f.length());//获取文件大小
			//必须确保文件存在时,才可以使用isDirectory和isFile,否则方法无效
			if(f.isDirectory()) {//判断是否是文件夹
				System.out.println("文件夹");
			}
			if(f.isFile()) {//判断是否为文件
				System.out.println("文件");
		}else {
			//创建目录
			//f.mkdirs();//可以创建多级目录
			f.mkdir();//只能创建一个目录,确保父目录必须存在
			//创建文件
			f.createNewFile();//创建一个新文件,文件内容为空
		}
//			System.out.println(f.getPath());//获取文件相对路径
//			System.out.println(f.getAbsolutePath());//获取文件绝对路径
//			System.out.println(f.getName());//获取文件名称
//System.out.println(f.delete());//删除文件,当前目录下包含文件夹或者文件(非空)不能直接删除,目录只能删除空目录,文件可直接删除

            //删除非空目录时,先删除里面的文件
			File[] fs=f.listFiles();//遍历文件
			for (File ff:fs) {
				ff.delete();
			}
			System.out.println(f.getParent());//获取父级文件的路径
			System.out.println(f.getParentFile().getParentFile().getPath());//获取文件的相对路径 
    }
}

例题://找出该目录下所有的文件夹和文件,打印输出路径或名称,找出最大的文件

import java.io.File;
import java.io.IOException;

public class FileDemo1 {

	public static void main(String[] args) throws IOException {
            File f1=new File("D:\\animal");
			File files[]=f1.listFiles();
			long max=0; //最大值初始值      
			File fmax=null;
			for(File ff:files) {
				if(ff.isFile()) {//文件
					long size=ff.length();
					if(size>max) {
						max=size;
						fmax=ff;
					}
					System.out.println("文件---"+ff.getPath()+"---size:"+ff.length());
				}else {//目录
					System.out.println("目录---"+ff.getPath());
				}
				
			}
			System.out.println("最大的文件"+fmax.getPath()+"--size---"+fmax.length());
      }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值