IO的总结

java.io.File类的使用:计算机操作系统中的文件和文件夹

IO原理及流的分类:通过程序把一个图放到某一个文件夹中,把图片转化为一个数据集,把这些数据一点一点传到文件夹,我们可以称这个整体的数据集是一个数据流

文件流:数据流的读写都是基于文件的操作
FileInputStream/FileOutputStream/FileReader/FileWriter
读取文件操作步骤:
1.建立一个流对象,将已存在的一个文件加载进流
FileReader r=new FileReader(“XXXXX”);
2.创建一个临时存放数据的数组
char[] b=new char[100];
3.调用流对象的读取方法将流中的数据读入到数组中
r.read(b);
写入文件步骤:
1.创建流对象,建立数据存放文件

FileWrite w= new FileWriter(“XXX”);
2.调用流对象的写入方法,将数据写入流
w.writer(“xxx”);

3.输入流关闭之前要清空缓存
w.flush();
4.关闭流资源,并将流中的数据清空到文件中
w.close();

缓冲流:数据流的读写都是基于内存的操作
BufferedInputStream/BufferedOutputStream/BufferedReader/BufferedWriter

转换流
InputStreamReader/OutputStreamWriter
InputStreamReader/OutputStreamWriter转换字符流操作更加高效
public InputSreamReader(InputStream in,String charsetName)

public OutputSreamWriter(OutputStream out,String charsetName)

标准输入/输出流
System.in / System.out为标准的输入和输出

打印流
PrintStream/PrintWriter
数据流
DataInputStream/DataOutputStream
对象流–涉及序列化,反序列化:把一个对象转换为一个数据流进行读写
ObjectInputStream/ObjectInputStream
随机存取文件流:
RandomAccessFile
RandomAccessFile 对象包含一个记录指针,用以标示当前读写处的位置。
RandomAccessFile 类对象可以自由移动记录指针:
long getFilePointer():获取文件记录指针的当前位置
void seek(long pos):将文件记录指针定位到 pos 位置
构造器
     public RandomAccessFile(File file, String mode)
     public RandomAccessFile(String  name, String  mode)
 
  创建 RandomAccessFile 类实例需要指定一个 mode 参数,该参数指定 RandomAccessFile 的访问模式:
      r: 以只读方式打开
      rw:打开以便读取和写入
      rwd:打开以便读取和写入;同步文件内容的更新
     rws:打开以便读取和写入;同步文件内容和元数据的更新

关于File类

java.io.File类:文件和目录路径名的抽象表示形式
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。
如果需要访问文件内容本身,则需要使用输入/输出流。
File对象可以作为参数传递给流的构造函数
File类的常见构造方法:
public File(String pathname)
以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
public File(String parent,String child)
以parent为父路径,child为子路径创建File对象。File的静态属性String separator存储了当前系统的路径分隔符。

Java IO原理

IO流是处理设备之间数据传输的(数据的传输是以“stream”的方式进行)

input:读取外部数据
output:将程序数据输出到磁盘光盘等存储设备中

流的分类

按操作数据单位不同分为:字节流(8 bit),字符流(16 bit)
按数据流的流向不同分为:输入流,输出流
按流的角色的不同分为:节点流,处理流
在这里插入图片描述

发布了54 篇原创文章 · 获赞 96 · 访问量 6451

猜你喜欢

转载自blog.csdn.net/weixin_44955712/article/details/104012078