java之Io流的 部分API方便以后查阅先记录下了

5 篇文章 0 订阅
1 篇文章 0 订阅
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class FileDemo1 {

	public static void main(String[] args) throws IOException {
		/*@blackrui
		 * @20/3/13-11:21
		 */
		System.out.println("Io的一些常用API:");
		File file =new File("E:\\Xmind周笔记\\xishuashua.txt");
		
		File file1 =new File("xishuashua.txt");
	
		File file2 =new File(file,"game.exe");
		System.out.println("文件名称为:"+file);
		
		System.out.println("绝对路径1:"+file.getAbsolutePath());
		
		System.out.println("绝对路径2:"+file1.getAbsolutePath());
		
		System.out.println("绝对路径2:"+file2.getAbsolutePath());
		System.out.println("判读是否是文件夹:"+file.isFile());
		
//		System.out.println(f"文件夹/文件是否存在"+file.exists());
		System.out.println("获取文件的长度:"+file.length());
		
		
		System.out.println("文件最后修改的时间:"+file.setLastModified(0));
		
		System.out.println("设置文件修改时间"+file.setLastModified(0));
		
		File fileN =new File("E:\\Xmind周笔记\\xihaha.txt");
		file.renameTo(fileN);
		System.out.println("把文件名xishuashua.txt修改为xihaha.txt:"+file);//注意:这里修改后会文件名称会发生改变,前面一些就会出错,
		
		File f =new File("E:\\办公三剑客");
		
		System.out.println("以字符串数组的形式,返回当前文件夹下所有文件(不包括子文件和文件夹夹):");
		File fs[] =f.listFiles();//多态
		
		for(File a1: fs) {
			
			System.out.println(a1);
			
		}
		
		System.out.println("以字符串形式返回所在的文件夹:"+f.getParent());
	
		System.out.println("以文件形式返回所在的文件夹:"+f.getParentFile());
		File f1 =new File("E:\\办公三剑客\\newFile");
		File f2 =new File("E:\\办公三剑客\\newFile\\newFile.txt");
		
		File f3 =new File("E:\\办公三剑客\\NewFile666777.txt");
		System.out.println("创建文件夹1:"+f1.mkdir());//返回true表示创建成功,反之失败创建文件夹,如果父文件夹“办公三剑客”不存在,就会创建失败
		System.out.println("创建文件夹2:"+f2.mkdirs());//如果父文件夹“办公三剑客”不存在,就会创建父文件夹,再新创建。
		
		System.out.println("创建一个新的空的文件:"+f3.createNewFile());//如果父文件夹不存在,就会抛出异常
		
		File f4 =new File("E:\\办公三剑客\\MyNewFile\\File.txt");
		System.out.println("获取到文件的父目录"+f4.getParentFile().mkdirs());
		
		System.out.println("列出盘符:"+f4.listRoots());
		
		System.out.println("删除文件;"+f3.delete());//返回true表示成功了,反之失败,但是使用的时候千万要谨慎使用,
		f3.deleteOnExit();//用于临时文件的删除
		System.out.println("输出f3文件是否还存在:"+f3.getName());
		System.out.println("获取文件最后修改时间:"+f.setLastModified(0));
//		String ios1 =new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss").format(new Date());
//		System.out.println(ios1);
	}

}

 

字节流

字符流

对象流

文件流

Zip流:

import java.io.*;
import java.util.zip.*;
 
public class MyZip { // 创建类
	private void zip(String zipFileName, File inputFile) throws Exception {
		ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
				zipFileName)); // 创建ZipOutputStream类对象
		zip(out, inputFile, ""); // 调用方法
		System.out.println("压缩中…"); // 输出信息
		out.close(); // 将流关闭
	}
	
	private void zip(ZipOutputStream out, File f, String base)
			throws Exception { // 方法重载
		if (f.isDirectory()) { // 测试此抽象路径名表示的文件是否是一个目录
			File[] fl = f.listFiles(); // 获取路径数组
			out.putNextEntry(new ZipEntry(base + "/")); // 写入此目录的entry
			base = base.length() == 0 ? "" : base + "/"; // 判断参数是否为空
			for (int i = 0; i < fl.length; i++) { // 循环遍历数组中文件
				zip(out, fl[i], base + fl[i]);
			}
		} else {
			out.putNextEntry(new ZipEntry(base)); // 创建新的进入点
			// 创建FileInputStream对象
			FileInputStream in = new FileInputStream(f);
			int b; // 定义int型变量
			System.out.println(base);
			while ((b = in.read()) != -1) { // 如果没有到达流的尾部
				out.write(b); // 将字节写入当前ZIP条目
			}
			in.close(); // 关闭流
		}
	}
	
	public static void main(String[] temp) { // 主方法
		MyZip book = new MyZip(); // 创建本例对象
		try {
			// 调用方法,参数为压缩后文件与要压缩文件
			book.zip("hello.zip", new File("src"));
			System.out.println("压缩完成"); // 输出信息
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}
import java.io.*;
import java.util.zip.*;
 
public class Decompressing { // 创建文件
	public static void main(String[] temp) {
		ZipInputStream zin; // 创建ZipInputStream对象
		try { // try语句捕获可能发生的异常
			zin = new ZipInputStream(new FileInputStream("hello.zip"));
			// 实例化对象,指明要进行解压的文件
			ZipEntry entry = zin.getNextEntry(); // 获取下一个ZipEntry
			while (((entry = zin.getNextEntry()) != null)
					&& !entry.isDirectory()) {
				// 如果entry不为空,并不在同一目录下
				File file = new File("d:\\" + entry.getName()); // 获取文件目录
				System.out.println(file);
				if (!file.exists()) { // 如果该文件不存在
					file.mkdirs();// 创建文件所在文件夹
					file.createNewFile(); // 创建文件
				}
				zin.closeEntry(); // 关闭当前entry
				System.out.println(entry.getName() + "解压成功");
			}
			zin.close(); // 关闭流
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值