Java个人学习之旅(第十四天)

1. File类型:

  1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)

  2. File类声明在java.io包下

  3. File类中仅涉及关于文件或文件目录的创建、删除、重命名、修改时间、文件大小,如果要读取和写入,则需要使用IO流

  4. File类的对象常会作为参数传递到流的构造器中,指明读取或写入的"终点".

构造器:

  1. File(String filePath) //参数为文件路径,可以是相对路径也可以是绝对路径

  2. File(String parentPath,String childPath) //父文件路径和子文件路径,通常子文件路径用相对路径

  3. File(File parentFile,String childPath) //第一个参数为父文件类型,第二个参数为子文件的路径

相对路径:相较于某个路径下,指明的路径。
绝对路径:包含盘符在内的文件或文件目录的路径

File的常用方法:

  1. getAbsolutePath​():返回此路径名的绝对路径名字符串。

  2. getName​():返回由此路径名表示的文件或目录的名称

  3. getPath​():将此路径名转换为路径名字符串。

  4. getParent​():返回此路径名的父目录的路径名字符串,如果此路径名未命名为父目录,则返回 null

  5. length​():返回由此路径名表示的文件的长度

  6. list​():返回一个字符串数组,命名由此路径名表示的目录中的文件和目录。

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

  8. isFile​():测试此路径名表示的文件是否为普通文件。

  9. isDirectory​():测试此路径名表示的文件是否为目录。

  10. exists​():测试此路径名表示的文件或目录是否存在。

  11. mkdir​() 创建由此路径名命名的目录。

  12. mkdirs​() 创建由此路径名命名的目录,包括任何必需但不存在的父目录。

  13. createNewFile​() 当且仅当具有该名称的文件尚不存在时,原地创建一个由该路径名命名的新的空文件。

  14. delete():删除该路径下的文件或者文件夹,如果删除的是文件夹,删除前需清空该文件夹

以上就是一些File的常用方法,API文档里还有很多,有需要可以再去查阅

注意:
File对象是内存中的对象,代表硬盘中实际存在的一个文件或者目录。

无论该路径下是否存在文件或者目录,都不影响File对象的创建。

Java中的删除不经过回收站,测试方法需谨慎!

2. IO流(部分):

1 .流的分类

  • 操作数据单位:字节流、字符流
  • 数据的流向:输入流、输出流
  • 流的角色:节点流、处理流
  1. 流的体系结构:
    字节流:
    输出流:OutputStream
    输入流:InputStream

    字符流:
    输出流:Writer
    输入流:Reader

以上四种流是所有流的抽象基类
其中字节流可以处理一切数据
字符流只能处理纯文本

输入输出是相对于程序和数据源而言的
运行程序生成数据叫做输出
将数据载入程序叫做输入

代码举例:

输出文本文档

    @Test
	public void test01() throws IOException {
	    //初始化一个文件类,指定要生成的文件路径		
	    File file = new File("C:\\Users\\GraltofRivia\\Desktop\\a.txt");
		
		if (!file.exists()) {
		    //如果文件不存在则创建该文件
			file.createNewFile();
		}
		
		//初始化输出流,参数为文件路径
		OutputStream os = new FileOutputStream(file);
		
		//定义要输出的字符
		byte[] bytes = new byte[] {97,98,99,100,101,102,103};
		
		//调用输出流的输出方法
		//write("要写入的数据",从第几位数开始写,写多少)
		os.write(bytes,1,bytes.length-1);
		//关闭输出流
		os.close();
	}

运行结果:
在这里插入图片描述
可以看到,输入的数字根据ascii转码成了字母

读取文本文档

	@Test
	public void test03() throws Exception {
		File file = new File("C:\\Users\\GraltofRivia\\Desktop\\a.txt");
		
		InputStream is = new FileInputStream(file);
			
		int b;
		//判断输入流是不是读到的最后,如果读到最后则返回-1
		while((b=is.read()) != -1) {
			//打印读到的字符
			//如果不强转则会打印数字
			System.out.print((char)b);
		}
		//关闭输入流
		is.close();
	}

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值