首页 > 代码库 > io流

io流

                          IO

1、IO流:(Input Output)输入输出流: 输入:将文件读到内存中 输出:将文件从内存输出到其他地方。

2、IO技术的作用:主要就是解决设备和设备之间的数据传输问题。比如:硬盘到--->内存。

3、U盘中的文件拷贝到电脑中:输入流----->读到内存--->通过输出流读到电脑磁盘中。

4、IO的应用场景:

     1.打印机到出信息表

     2.注册的时候图片的上传

     3.下载功能

     4.解析XML

5、数据保存到本地,数据一个永久保存。数据保存到磁盘上是以文件的形式存在的。

6java是如何操作文件:

   Java中是通过File文件类来操作文件和文件夹。

7、文件类的构造方法:

   FileString pathname

     通过将给定路径名字字符串转换为抽象路径名来创建一个新File实例

   FileFile parentString child

     根据parent抽象路径名和child路径名字符串创建一个新File实例

   FileString parentString child

     根据parent路径名字符串和child路径名字符串创建一个新File实例。

8、不同的系统目录的分割线不一样

目录分隔符:在Windows上是“\”,但是Linux系统上的目录分隔符是/

注意点:在Windows\ 或者 /都可以作为目录的分隔符。 如果你用的反斜杠 目录分隔符就是\\  如果使用/  直接用/就可以分隔

9、exists() 返回一个boolean值类型  该路径下是否存在文件。

   EgSystem.out.println("是否存在文件?"+file.exists());

10、获取系统默认的分隔符

System.out.println(File.separator);

11、路径问题:

   绝对路径 : 文件在硬盘上的完整路径。绝对路径一般都是以盘符开头  D:\\a.txt  绝对路径

   相对路径  : 相对路径就是资源文件相对当前程序所在的路径

12File中常用的方法:

    ①创建:

    1.CreateNewFile() 在指定位置创建一个空文件,成功就返回true,如果已存在就不创建然后返回false

2.mkdir() 在指定位置创建目录,这只会创建最后一级目录,如果上级目录不存在就抛异常。

3.mkdirs() 在指定位置创建目录,这会创建路径中所有不存在的目录。

4.renameTo(File dest) 重命名文件或文件夹,也可以操作非空的文件夹,文件不同时相当于文件的剪切,剪切时候不能操作非空的文件夹。移动/重命名成功则返回true,失败则返回false

     ②删除:

        1.delete() 删除文件或一个空文件夹,如果是文件夹且不为空,则不能删除,成功返回true,失败返回false

2.deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录,保证程序异常时创建的临时文件也可以被删除

13IO流作用:用于设备和设备之间的数据传输

 

14File类的使用:操作文件的属性

 

15IO流:用来操作文件的数据

 

16IO流的分类:

 

   流按照操作数据的类型分为两种:字节流, 字符流

 

   字节流:读取的是文件的二进制数据,不会对二进制做处理,不会解析成比看得懂的数据

 

   字符流:读取的也是二进制数据,他会将二进制数据转化为我们能过识别的字符(解码),字符流是以字符单位的。字符流=字节流+解码

 

17、流按照流的方向:输入流和输出流

 

18、判断流是输出还输入:以当期的应用程序为参考,观察数据是流入还是流出,如果是流入就输入流,如果是流出就是输出流

 

19、InputStream:此抽象类是表示字节输入流的所有类的超类,抽象的类

 

20、FileInputStreamInputStream的子类

 

21、字节输出流:

 

OutPutStream:他一也是所有字节输出流的超类,也是一个抽象的类,使用子类----------FileOutPutStream  文件输出流

 

22、FileOutPutStream使用步骤:

 

     1.找到目标文件

 

     2.创建一个通道

 

     3.创建一个字节数组  

 

     4.写入数据

 

     5.关闭资源

 

23、FileOutPutStream使用注意事项:

 

     1.使用FileOutPutStream写数据的时候,如果目标文件不存在,那么字节就会创建一个目标文件对象。(在创建一个通道时创建的文件)

 

     2.使用FileOutPutStream写数据的时候,如果目标文件存在,先将里面的数据清空,再写入数据

 

     3.使用FileOutPutStream写数据的时候,如果文件不存在,想将数据在原有的基础上追加,这个时候就应该使用FileOutputStreamFile file,boolean append)构造方法,append如果为true表示可以追加数据,反之不信。

 

     4.使用FileOutPutStream写数据的时候,用writeint a)方法写数据,虽然接受的是int,但是实际上只有一个字节的数据,操作的是低八位的二进制,其他的24位全部丢掉。

 

io流