java io 流

官方文档:

https://www.alibabacloud.com/help/zh/doc-detail/84788.htm?spm=a2c63.p38356.b99.215.114655b0PEFQts

http://doc.oss.aliyuncs.com/

了解一下 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:filea  其中的反斜杠就是

--》构造函数

一个类中分为有构造器,没有构造器两种

 -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:java300IO_study01IO.png

现在,例子中File src = new File("IO_study01/IO.png") 写的是相对路径

当填写相对路径的时候操作系统会自动给添加上user.dir= 文件所在的绝对路径=D:java300IO_study01

所以使用src.getAbsolutePath()得到的是D:java300IO_study01IO_study01IO.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()也可以创建目录

原文地址:https://www.cnblogs.com/wsnan/p/12019409.html