java io 流
Posted Wsnan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java io 流相关的知识,希望对你有一定的参考价值。
官方文档:
https://www.alibabacloud.com/help/zh/doc-detail/84788.htm?spm=a2c63.p38356.b99.215.114655b0PEFQts
了解一下 File MultipartFile InputStream FileInputStream
java io 流 输入输出流
java1000集 p166
https://www.bilibili.com/video/av59676843?p=166
1 开篇
程序作为输入输出流的中转站
处理流,由节点流包装处理的来
字节流--- 编码方式 --字符流
字节流:
字符流:底层还是字节流,继承于字节流
2 aip包下api使用规则 重要
java通过虚拟机,跟操作系统进行交互,从而操作硬盘
File 是用来建立一个联系,所以这个File可能不存在,也可能代表文件夹,也可能存在文件,
File是一种抽象的表示形式,文件和文件路径名的抽象形式
api的使用的关注点,根据接口文档 先看继承体系,父类
--》常量:
pathSeparator 文件目录分割符(比如windows中的环境变量;号分开,linux用:分开路径)
separator: 名称分隔符,比如D:\\file\\a 其中的反斜杠就是
--》构造函数
一个类中分为有构造器,没有构造器两种
-1如果有构造器,new对象直接用;
-2没有构造器,|| 像工具类一样,有静态的方法直接类.静态方法使用 比如 Math类 || 可能通过静态方法给我们返回这个类的对象,比如RunTime
Runtime类举例:我们就可以使用Runtime. 方法去调用 Runtime体现了单例设计模式
--》 方法
方法关注方法名:见名知意,才作用;入参;出参;方法调用形式:类调用还是对象调用
3 。1路径的表示形式,不同系统中路径表示,使用名称分隔符separator
以后代码中写路径推荐写成 “D:/file/test.txt” ,不要写成 "D:\\\\file\\\\test.txt"
或者使用名称分隔符 进行拼接 path = "D:"+File.separator+"file"+File.separator+"test.txt"
两种输出都是对的
3.2 构造器
File(String pathName ) pathName路径名称
相对路径,绝对路径问题,带盘符是绝对,不带盘符是相对,最好不要用绝对
操作系统存在user.dir,告知我们绝对路径
File可以构建一个新的不存在的路径,
3.3 p168 File_aip具体的学习
3.3.1 基本信息
getPath() 给绝对路径,返回绝对路径,给相对路径返回相对路径
getAbsolutePath() 不管给的是绝对路径还是相对路径返回的都是绝对路径
getParent() 返回文件前面的所有路径,如果没有返回null
getParentFile() 返回父对象 getParentFile().getName(),得到父对象的名字
3.3.2 文件状态
文件的实际路径; D:\\java300\\IO_study01\\IO.png
现在,例子中File src = new File("IO_study01/IO.png") 写的是相对路径
当填写相对路径的时候操作系统会自动给添加上user.dir= 文件所在的绝对路径=D:\\java300\\IO_study01
所以使用src.getAbsolutePath()得到的是D:\\java300\\IO_study01\\IO_study01\\IO.png
所以src.exist() : 判断文件是否存在 src.isFile() :判断是不是文件 src.isDirectory() : 判断是不是目录
三者返回的结果都是 false ,因为路径根本不对
修改后,
再变化,输入变成目录
一般我们创建完成文件对象之后,我们盘对对象是不是null 以及 要创建的文件是否存在 、
!src,exists() 意思是如果不存在
length() 文件的长度 返回结果是 long ,计算的是文件的长度,要确保是个文件
length()计算的是字节数
,如果是文件夹,或者是不存在的文件夹,返回结果都是0
File file = new File("D:\\a.text")
boolean b = src.createNewFile();
b= true
如果a.txt 不存在 b=true ,如果 a.txt存在,b=false
createNewFile()也可以创建目录
以上是关于java io 流的主要内容,如果未能解决你的问题,请参考以下文章