博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基础IO
阅读量:3960 次
发布时间:2019-05-24

本文共 2151 字,大约阅读时间需要 7 分钟。

1.理解文件

1)概念:文件是相关记录或者放在一起的数据的集合
2)文件可以简单地理解为在外设硬盘上面保存数据的一种方式
3)文件一共由两部分组成:属性(文件大小,文件名,文件夹,文件类型等)+内容(就是文件里存放的东西)
2.File文件操作类
1)两个构造方法
public File(String pathname) 创建指定路径文件对象
public File(String parent,String child) 同上,但可指明父路径和子路径
2)File类常用方法-基本文件操作
public boolean exists() 测试指定路径文件或者目录是否存在
public boolean isDirectory() 判定一个文件是目录
public boolean createNewFile() throws IOException 创建一个新文件
3)File类常用方法-目录操作
public boolean mkdir() 创建一个空目录
public boolean mkdirs() 创建目录(无论有多少级父目录,都会创建)
public String getParent() 取得父路径
public File getParentFile() 取得父File对象
4)File类常用方法-文件操作属性
public long length() 取得文件大小(字节)
public lonng lastModified() 最后一次修改日期
5)绝对路径与相对路径
绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
相对路径:相对与某个基准目录的路径
6)File类常用方法-其他操作
public File[] listFiles() 列出一个目录指定的全部组成
示例代码:

import java.io.File;public class FlieDemo {
public static void main(String[] args) {
//选择指定的文件夹 File file = new File("E:\\java课件"); if (file.exists() && file.isDirectory()) {
File[] result = file.listFiles(); for (File file2 : result) {
System.out.println(file2); } } }}

以上代码的功能是列举一个目录下的所有文件

3.流
1)流的概念
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,即数据在两设备之间的传输称为流,流的本质是数据传输。
按照流向分:输入流,输出流
按照处理数据的单位分:字节流(8位的字节);字符流(16位的字节)
2)什么是输入输出流
输入就是将数据从各种输入设备(包括文件,键盘等)中读取到内存中。
输出则正好相反,是将数据写入到各种输出设备(比如文件,显示器,磁盘等)
文件既可以作为输出设备,又可以作为输出设备
3)什么是字节流,字符流
字节流:数据流中最小的数据单元是字节。InputStream,OutputStream
字符流:数据流中最小的数据单元是字符,Java中的字符是Unicode编码,一个字符占用两个字节。Reader,Writer
4)字节流
FileInputStream和FileOutputStream
FileInputStream从文件系统中的某个文件中获得输入字节
FileInputStream用于读取诸如图像数据之类的原始字节流
字符缓冲流
BufferedInputStream和BufferedOutputStream
字符流
FileReader和FileWriter
5)字节流对此字符流
字节流操作的基本单元是字节;字符操作的基本单元为Unicode’
字节流在操作的时候本身不会用到缓冲区的,是与文件本身操作的,而字符流在操作的时候是用到缓冲区的
所有文件的存储都是字节(byte)的存储,在磁盘上保留是字节
在使用字节流操作中。即使没有关闭资源(close)方法,也能输出;而字符流不使用close方法的话,不会输出任何内容
6)字符字节转换流
InputStreamReader是Reader的子类,将输入的字节流转换为字符流
OutputStream是Writer的子类,将输出的字符流转换成字节流
4.总结
I/O流的分类
1)按照流向分:输入流,输出流
2)按照数据处理的单位分:字节流(8位的字节) 字符流(16位的字节)
3)按照流的功能分:
节点流(低级流):可以从一个特定的IO设备上读/写数据的流
处理流(高级流/过滤流):是对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写操作。通常处理流的构造器上都会带有一个其他流的参数
流的作用:为数据源和目的地建立一个输送通道

转载地址:http://cylzi.baihongyu.com/

你可能感兴趣的文章
[心情] 如果有一天
查看>>
[随笔] 6月近况小记 & 一个站点优化问题
查看>>
[Perl] 关于 Bugzilla 的一些问题与研究
查看>>
[Linux] 常用 linux 系统命令及维护备忘
查看>>
[Linux] 关于 Ext4 HowTo
查看>>
[杂记] 新年物语&关于Mysql引擎性能测试
查看>>
[心得] 近期更新&关于Infobright
查看>>
[杂记] 流量统计 & 短信接口
查看>>
[Java] JRebel + Maven + Jetty 热部署
查看>>
[算法] 从 Memcached 分布式应用看一致性哈希散列函数的选择
查看>>
[中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
查看>>
[设计] 原型界面设计利器 Balsamiq Mockups 推荐
查看>>
[闲话] 在西方的程序员眼里,东方的程序员是什么样的
查看>>
[管理] 成功之路的探寻 —— “三力” 理论
查看>>
[连载] Socket 深度探索 4 PHP (一)
查看>>
[连载] Socket 深度探究 4 PHP (二)
查看>>
[连载] Socket 深度探究 4 PHP (三)
查看>>
[无线] Android 系统开发学习杂记
查看>>
[无线] 浅析当代 LBS 技术
查看>>
[杂感] 缅怀乔布斯
查看>>