JAVA知识点总结-12 File,io

一:File 

   1. 概念:用于创建文件和目录的对象

    2. File f = new File("路径");    //创建了对象

    3. File(String pathname):把一个路径名称封装成File对象

   File(String parent, String child):把一个父路径和一个子路径封装成一个File对象

   File(File parent, String child):把一个父路径File对象和一个子路径封装成一个File对象

    4. 父路径没创造的话没法创建子路径文件

    

     
        File file =new File("D://a.txt");
        System.out.println(file.createNewFile());
         //如果文件不存在,则创建文件,位置就是封装好的对象的地方

      
		//床创建目录的,可单创建,也可多创建
         File file=new File("D://test");
         System.out.println(file.mkdir());
               
		 File file=new File("D://aa//bb//a.txt");
		 System.out.println(file.mkdirs());

    5.删除文件:
   
        //删除D://a.txt
		File file = new File("D://a.txt");
		System.out.println(file.delete());
		
		
		删除D://test//a.txt
		File file = new File("D://test//a.txt");
		System.out.println(file.delete());
		
		//删除D://test,删除文件夹的时候只能删除空的文件夹
		File file = new File("D://test");
		System.out.println(file.delete());

   6.判断功能:
  public boolean isDirectory():是否是目录
  public boolean isFile():是否是文件
  public boolean exists():是否存在
  public boolean canRead():是否可读
  public boolean canWrite():是否可写
  public boolean isHidden():是否隐藏
   7.获取功能:
  public String getAbsolutePath():获取绝对路径
  public String getPath():获取相对路径
  public String getName():获取名称

二:字节流与字节高效流
     
   输入与输出都是根据程序的角度来看的

   


 字节流中的从数据源到目的地复制的四种方式:

     
public class IoTest {
	public static void main(String[] args) throws IOException {
		long startTime = System.currentTimeMillis();
//		method1();  //15570
//		method2();   //27
//		method3();   //199
		method4();   //16
		long endTime = System.currentTimeMillis();
		System.out.println(endTime - startTime);
	}

	private static void method4() throws IOException {
		//D.高效字节流一次读取一个数组
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream("H://d.mp4"));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("H://3.mp4"));

		int by;
		byte[] bys=new byte[1024];
		while ((by=bis.read(bys))!=-1) {
			bos.write(bys, 0, by);

		}

		bis.close();
		bos.close();

	}

	private static void method3() throws IOException {
		//C.高效字节流一次读取一个字节
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream("H://d.mp4"));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("H://3.mp4"));

		int by;
		while ((by = bis.read()) != -1) {
			bos.write(by);

		}
		bis.close();
		bos.close();
	}

	private static void method2() throws IOException {
		//B.基本字节流一次读取一个字节数组
		FileInputStream fis = new FileInputStream("H://d.mp4");
		FileOutputStream fos = new FileOutputStream("H://2.mp4");

		byte[] bys = new byte[1024];
		int by;
		while ((by = fis.read(bys)) != -1) {
			fos.write(bys, 0, by);
		}

		fos.close();
		fis.close();

	}

	private static void method1() throws IOException {
		// A:基本字节流一次读写一个字
		FileInputStream fis = new FileInputStream("H://d.mp4");
		FileOutputStream fos = new FileOutputStream("H://1.mp4");

		int by;
		while ((by = fis.read()) != -1) {
			fos.write(by);
		}

		fos.close();
		fis.close();

	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值