I/O流(Input and Output) 笔记

数据源

  • 内存键盘:数据存放内存
  • 文件:持久化存储
  • 映射:将两个对象对应出来 (类似通过一个地址连接到另一个地址)
    java中File是内存中的一个对象通过File这个对象映射硬盘上的文件或文件夹

File

输入输出导包:java.io.File
创建File类语法:

File file =new File(String pathname); //file对象不是真正的文件,它是在堆内存中创建的一个内存空间
物理地址 c:\test.txt或者c:/test.txt//硬盘上的文件名不区分大小写,内存中的File对象名字区分大小写
File既可以指文件也可以指目录
通过方法操作文件或目录的属性

相对路径:没有盘符(C盘用盘符表示为C:),当前工程(项目)所在的位置找寻跟着项目走(它是区分大小写的)在这里插入图片描述

src\test02\FileDemo.java

import java.io.File;

public class FileDemo {
	public static void main(String[] args) {
		File file=new File("src/test02/FileDemo.java");

绝对路径:从盘符(C盘用盘符表示为C:)开始一直到文件名为止,相当于类全名(它是不区分大小写的)

在这里插入图片描述
E:\java\java_kh83_1212\src\test02\FileDemo.java

import java.io.File;

public class FileDemo {
	public static void main(String[] args) {
		File file=new File("E:\\java\\java_kh83_1212\\src\\test02\\FileDemo.java");

1个汉字字符是2个字节,1个英文字符是1个字节

流(Stream)

InputStream输入流
outStream输出流
流是一组有序的数据序列
基类:java中继承关系的父类 如 A extend B B为父类,而B就是基类
派生类:java中继承关系的子类 如 A extend B A为子类,而A就是派生类
流按流向区分

  • 输出流:OutputStream和Writer作为基类
  • 输入流:InputStream和Reader作为基类

按照处理数据单元划分

  • 字节流
    字节输入流InputStream(抽象类)基类
    inputStream类常用方法:
    int read() 一个字节一个字节的读,返回的是该字节的整数表示形式,如果到了输入流的末尾,返回-1
    int read(byte[] b) 读取若干个字节,把字节保存到数组b中,返回的是读取的字节数,如果到了输入流的末尾,返回-1
    int read(byte[] b,int off,int len) 读取若干个字节,把字节保存到数组b中,从数组的off下标位置开始读取,读取的字节数目用len表示。返回的是实际读取的字节数,如果到了输入流的末尾,返回-1
    void close() 关闭流读取
    int available(): 从输入流可以读取的字节数目
    字节输出流OutputStream基类
  • 字符流
    字符输入流Reader基类
    字符输出流Writer基类
    字符流是8位通用字节流,字符流是16Unicode字符流
发布了11 篇原创文章 · 获赞 7 · 访问量 1260

猜你喜欢

转载自blog.csdn.net/justwanfeng/article/details/103505715
今日推荐