了解学习字符流

一、字符编码

字符编码指的是一种映射规则,将某个字符映射成其他形式的数据,以便在计算机上存储。

例如 :

ASCLL字符编码规定使用单字节(8位0或1)中低位的7个比特来表示某个字符

如A的编号是65,单字节表示为0x41(0x表示十六进制),写入存储设备的时候就是二进制的01000001。

常用的编码格式为 : UTF-8

你可能还会见到的还有:GBK,GB2312,Unicode等

如果编码格式和解码格式不一样,就会出现乱码

二、字符流

概念 : 输入输出流传输的最小字符为字符(char)

字符流体系分为ReaderWriter

Reader :所有字符输入流的父类

提供的方法 :

int read();
    一次读取一个字符,返回值为读取到的字符
int read(char c[]):
    一次去取一组字符到数组c中,返回值为读取到的字符长度,当为-1时表示读取结束
int read(char c[], int off, int len)
    一次去取一组字符到数组c中
    从off位置开始存储,存储len个
    返回值为读取到的字符长度
    当为-1时表示读取结束
void close()
    关闭

Writer: 所有字符输出流的父类

提供的方法 :

void write(int c)
        写入一个int类型的,内容是c锁表示的
void write(char cbuf[])
        写入,内容是cbuf数组的内容
void write(char cbuf[], int off, int len)
        写入,从off位置开始,写入len长度个
void write(String str)
        写入一个字符串
void flush()
        冲刷
void close()
        关闭

文件流

FileReader
FileWriter

缓冲流

BufferedReader
    readLine():读取一行
BufferedWriter
    newLine():写入一个换行

转换流

InputStreamReader
OutputStreamReader

标准输出流

PrintStream
是字节流

File

文件或文件夹对应的类

使用 :

1.创建File类的对象

2.对调属性或方法

File的构造函数(创建File对象)

公共构造函数:
    File(String pathname)
        pathname:文件或文件夹的路径
    File(String parent, String child)
        parent:上级文件夹的路径
        child:当前文件的名称.后缀名
        如
            D:\2304班授课\day20\笔记\day20.md
            D:\2304班授课\day20\笔记        parent
            day20.md                        child
​
    File(File parent, String child)
        parent:上级文件夹的file对象
        child:当前文件的名称.后缀名
​
    File(URI uri)
        uri:资源所在位置
        如:
            URI uri = URI.create("D:\\a.txt");
        File file = new File(uri);

注意: 路径分为相对路径与绝对路径 绝对路径: 从盘符开始书写 如:D:\a.txt 相对路径 相对于项目路径下 注意: .:当前路径 ..:上级文件夹

属性

public static separator
获取当前系统的路径分割符

方法

mkdir():创建一级文件夹
mkdirs():创建多级文件夹
createNewFile():创建一级文件
​
delete():删除一级文件或一级文件夹
​
getParent():获取上级文件夹路径
getParentFile():获取上级文件夹的file对象
​
getPath():获取当前路径
getAbsolutePath():获取当前文件的绝对路径
getAbsoluteFile():获取绝对路径的文件
​
​
isDirectory():判断是否为文件夹
isFile():判断是否为文件
exists():判断文件或文件夹是否存在
​
length():获取文件大小,单位字节
renameTo():修改文件名称
​
File[] listFiles();
File[] listFiles(FileFilter ff);
File[] listFiles(FilenameFilter ff);
获取当前文件夹下的文件或文件夹
    注意:
        FileFilter是文件过滤器
            重写的是boolean accept(File pathname)
            当返回值为true表示可以通过,反之false不通过
        FilenameFilter是文件名称过滤器
            重写的是boolean accept(File f,String name)
            当返回值为true表示可以通过,反之false不通过
            f:父级文件对象
            name:当前文件的名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值