java --IO流

本章内容

1,file类

2,递归

3,IO流

4,字符流,字符缓冲区

5,装饰者模式

6,字节流,字节流缓冲区

7,转换流

8,其他流

9,编码问题

一、file类

  1. 用来将文件或者文件夹封装成对象
  2. 方便对文件与文件夹的属性信息进行操作
  3. FILe能新建,删除,重命名文件与目录,但file不能访问文件内容


      File(String pathname)
      可以把一个存在或者不存在的文件(文件目录)封装成一个对象
    
      File(String parent, String child)

      File(File parent, String child)

 

      判断:
     * exists() 判断文件或者文件夹是否存在
     * isDirectory() 判断文件对象是不是一个文件夹
     * isFile()   判断文件对象是不是一个文件
     * isAbsolute() 判断当前路径是不是绝对路径
     * isHidden() 判断文件是否隐藏

    

       获取类方法
     * getAbsolutePath() 获取文件的绝对路径,返回路径字符串
     * getAbsoluteFile() 获取文件的绝对路径,返回File对象
     * getParentFile() 获取当前路径的父路径,以File对象的形式返回父路径
     * getParent()   获取当前路径的父路径,以字符串形式返回父路径
     * getPath()    获取当前路径
     * getName()    获取当前文件或文件夹名称
     * lastModified()  获取文件最后修改时间
     * length()        获取文件长度
     * getTotalSpace()  获取分区总大小
     * renameTo(File newFile) 给文件改名字

    * list()  以字符串形式返回当前路径下的所有文件和文件夹
     * listFiles() 以File对象的形式返回当前路径下的所有文件和文件夹
     

package Test1;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import org.junit.Test;

public class Demo {
	/*
	 * File(String pathname)
	 * 可以把一个存在或者不存在的文件(文件目录)封装成一个对象
	 * 
	 * File(String parent, String child)
	 
	 *File(File parent, String child)
	 */
	@Test
	public  void testConstructor(){
		// /斜杠 \反斜杠
		File f1 = new File("E:/practice/b.txt");//绝对路径
		File f2 = new File("E:/xxxx");
		
		File f3 = new File("E:/practice","b.txt");
		File parent = new File("E:/practice");
		File f4 = new File(parent,"b.txt");
		
	}
	/*
	 * 创建和删除文件:
	 * 
	 * CreateNewFile() 指定的文件不存在,就创建文件返回true,否则false
	 * mkdir() 创建单级文件夹
	 * mkdirs() 创建多级文件夹
	 * 
	 * delete() 删除单个文件或者多个文件夹
	 */
	
	@Test
	public void testCreateAndDelete() throws IOException{
		File f = new File("F:/pp");
		boolean flag = f.createNewFile();
		System.out.println(flag);
//		boolean mkidir = f.mkdirs();
//		System.out.println(mkidir);
//		boolean delete = f.delete();
//		System.out.println(delete);
	}
	/*
	 * 判断
	 * exists() 判断文件或者文件夹是否存在
	 * isDirectoery()判断文件对象是不是文件
	 * isFile() 判断文件对象是不是一个文件
	 * isAbsolute();
	 * isHidden();
	 * 
	 * 
	 */
	@Test
	public void testPanduan(){
		 File f1 = new File("F:/pp");
//		 boolean exists = f1.exists();
//		System.out.println(exists);
//		boolean directory = f1.isDirectory();
//		System.out.println(directory);
//		 boolean file = f1.isFile();
//		 System.out.println(file);
		 boolean file = f1.isAbsolute();
		 boolean hidden = f1.isHidden();
		 System.out.println(file);
	}
	/*
	 * 获取类方法
	 * getAbsoluteFile()   获取文件的绝对路径, 返回Flle对象
	 * getAbsolutePath() 获取文件的绝对路径,返回路径字符串
	 * getParentFile() 获取当前路径的父路径,以File对象的形式返回路径
	 * getPath() 获取当前路径
	 * getName() 获取当前文件夹或文件的名称
	 * lastModified() 获取文件最后修改时间
	 * length() 获取文件的长度
	 * getTotalSpace() 获取文件占用磁盘的大小,分区的大小
	 */
	@Test
	public void  testGet(){
		File f1 = new File("F:/pp");
		File f2 = new File("F:/xcc");
		File absoluteFile = f1.getAbsoluteFile();
		String absolutePath = f1.getAbsolutePath();
		File parentFile = f1.getParentFile();
		String path = f1.getPath();
		String name = f1.getName();
		long lastModified = f2.lastModified();
		long length = f1.length();
		long totalSpace = f2.getTotalSpace();
		boolean renameTo = f1.renameTo(f2);
		System.out.println(renameTo);
		
		Date d = new Date(lastModified);
		System.out.println(d.toLocaleString());
		System.err.println(totalSpace);
		
	}
	
	/*
	 * List() 以字符串形式返回当前路径下的所有 文件和文件夹
	 *  ListFiles 以File对象的形式返回当前路径下的所有文件和文件夹
	 *  
	 * 
	 */
	@Test
	public void testList(){
		File f = new File("F:/K/A");
		String[] list = f.list();
		for(String str : list){
			System.out.println(str);
		}
		System.out.println();
		System.out.println();
		
		File[] listFiles = f.listFiles();
		for(File file : listFiles){
			System.out.printl
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值