欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java IO流之辅助流式部分 File类

程序员文章站 2024-03-04 23:12:00
...

什么是流?

流是一组有序的数据序列,将数据从一个地方带到另一个地方。
流是一维的,流是单向的,对应的操作就是单向读取和单向写入。
根据数据流向的不同,可以分为输入(Input)流和输出(Output)流两种。

java IO 流可以概括为“两个对应,一个桥梁”:
两个对应指
字节流和字符流的对应输入流和输出流的对应
一个桥梁是指字节流到字符流的桥梁;
分别由以下4个抽象类来表示流:
InputStreamOutputStreamReaderWriter;**

java中IO主要包含3个部分

1、流式部分–IO流的主体部分
2、非流式部分–辅助流式部分,如File类
3、文件读取部分和安全相关的类;

下面是我总结的File类:
File类
File类是文件和目录路径名的抽象形式,它提供了与平台无关的方法来对磁盘上的文件或目录进行操作;

使用File类可以获取文件本身的一些信息,例如文件所在的目录、文件长度、文件读写权限等;
java中 File类是java.io包中唯一代表磁向文件写入信息的功能盘文件本身的对象。

File类的常用方法:

方法名称 方法说明
String getPath() 获取此File类构造方法中的路径
String getAbsolutePath() 获取文件或文件夹绝对路径
String getName() 获取文件名或文件夹名字
boolean isFile() 是否是文件
boolean exists() 是否存在此文件或目录
boolean isDirectory() 是否是目录
boolean canRead() 是否可读
boolean canWrite() 是否可写
boolean canExecute() 是否可执行
long length() 文件字节大小
boolean createNewFile() 创建文件
boolean delete() 删除文件或文件夹,如果删除的是目录,当前目录必须为空才能删除成功;
boolean mkdir() 创建当前File对象表示的目录
boolean mkdirs() 建当前File对象表示的目录,并在必要时将不存在的父目录也创建出来;
String[] list() 返回此文件夹下所有的文件及文件夹名称
File[] listFiles() 返回此文件夹下所有的文件及文件夹File对象

代码演示:

public static void main(String[] args) {			
			File f =new File("D:/sss");
			//获取此File类构造方法中的路径
			System.out.println("getPath():"+f.getPath());
			//获取文件或文件夹绝对路径
			System.out.println("getAbsolutePath():"+f.getAbsolutePath());
			//获取文件名或文件夹名字
			System.out.println("getName():"+f.getName());
			//是否是文件
			System.out.println("isFile():"+f.isFile());
			//是否 存在此文件或目录
			System.out.println("exists():"+f.exists());
			//是否是目录
			System.out.println(	"isDirectory():"+f.isDirectory());
			//是否可读
			System.out.println("canRead():"+f.canRead());
			//是否可写
			System.out.println("canWrite():"+f.canWrite());
			//是否可执行
			System.out.println("canExecute():"+f.canExecute());
			
//			//新建文件
//			try {
//				
//				System.out.println("createNewFile():"+f.createNewFile());
//			} catch (IOException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
			//新建文件夹
//			System.out.println("mkdir:"+f.mkdir());
//			//新建文件夹及不存在的父文件夹
//			System.out.println("mkdirs:"+f.mkdirs());
			
			//删除文件或文件夹
//			System.out.println("delete:"+f.delete());
			
			//当前f对象所代表目录里所有的文化及文件夹名称
//			String[] FileName = f.list();
//			
//			for(String name : FileName) {
//				System.out.println(name);
//			}		
	}

程序结果:
java IO流之辅助流式部分 File类
**

练习题:

1、使用File类按照给定文件夹,查询出此文件夹下所有文件名称!
代码如下:

static int count =0;//记录文件名与目录总个数;
	public static void main(String[] args) {
		File f =new File("D:/sss");
		fname(f);
		System.out.println(count);	
	}
	//不固定层数的文件夹中文件名称的获取
	public static void fname(File f) {
	
	File[] files =f.listFiles();
	
	for(File s : files) {
		count++;
		
		System.out.println(s.getName());
		
		if(s.isDirectory()) {//判断是否是目录
			
			fname(s);
		}
	}
}	

程序结果:
java IO流之辅助流式部分 File类

2、//查询给定路径下所有目录

public static void main(String[] args) {
		
		File f=new File("D:"+File.separator); //给出查询路径 
		
	      String str[] =f.list();  //创建数组接收  
	      
	      for(int i=0;i<str.length;i++){  //遍历  
	    	  
	         System.out.println(str[i]);  //打印输出  
	      }  
	   } 

程序结果:
java IO流之辅助流式部分 File类

相关标签: JAVA笔记 java