java的IO API(1)

input	输入
output	输出
所有的向内存中送数据的都是输入
所有的从内存中出数据的都是输出

用Java.io包的api方法操作的输入输出

内存–>外存(硬盘,光盘,U盘) 本地流输出
内存<–外存(硬盘,光盘,U盘) 本地流输入

  • 结合Socket网络编程
    内存–>网络上 网络流输出
    内存<–网络上 网络流输入
  • 网络流的案例
计算机A和远程的计算机B
从计算机B的计算机上下载文件
	1. 先从B中的硬盘上本地流输入,把硬盘上的文件读入到B的内存
	2. 把内存中的文件数据网络流输出,把内存数据输出到网络上
	3. 计算机A网络流输入,把网络上的文件数据读入到A的内存
	4. 把A内存中的数据,本地流输出到A的硬盘上
	
上传文件的过程和下载是相反的

不用java.io包操作的流

内存–>显示器
内存–>CPU
内存<-- CPU

数据的持久化

数据长时间保留在硬盘上
数据长时间保存在数据库上,其实数据库的本质是以数据文件的方式持久化到硬盘上

在硬盘中的时数据现数来的是文件和目录

java中提供了一个java.io.File类用来操作文件的目录信息和文件的信息就是不能操作文件的内容

  • 根据文件的内容操作分为
    1. 字节流:对文件的内容读写用字节的方式操作
    1. 字符流:对文件的内容读写用字符(ASCII)的方式操作,但是其本质(底层)还是用的是字节流

java.io.File类

用户表示文件和目录的,跟文件内容无关
注意一个问题:在不同的操作系统上对于目录间隔符的区分

Windows:
	c:\aa\bb\cc.txt
Linux:
	/home/aa/bb/cc.txt
在Java中对路径的分隔符的表示
	1. Windows方式
		c:\\aa\\bb\\cc.txt
		c:/aa/bb/cc.txt
	2. Linux:
		/home/aa/bb/cc.txt
如果想兼容Windows和Linux
	"aa"+File.separator+"bb"+File.separator+"cc.txt"
	

File的API

  • 构建Files类对象
    File(String filePath)
    File(File parent,String child);
    File(String parentName,String child);
  • isFile()
    判断是否是文件
  • isDirectory()
    判断是否是目录
  • length()
    获取文件的长度
  • exsits()
    判断文件或目录是否存在
  • createNewFile
    创建一个空文件
    返回值是boolean
    如果指定的文件不存在,就创建文件并返回TRUE
    如果指定的文件存在,就参会FALSE

-delete()
删除文件
注意:
如果File表示一个目录
删除的时候,要保证目录必须是空的

  • mkdir
    创建目录
  • mkdirs
    创建多个目录
  • listFiles
    返回指定目录中的所有的文件和目录
  • listFile(FileFilter)
    返回指定的目录中的部分文件,用File和Filter设定筛选条件
  • listFiles(FilenameFileFilter)
    返回指定目录中的部分文件和目录,FilenameFileFilter设定筛选条件
  • 总结
    1. 只能操作文件或目录的信息
    2. 就是不能操作文件的内容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值