JavaSE基础加强2

存储&读写数据的方案

1 存储数据的方案

    变量,数组,对象,集合创建出来的数据容器都是存放在内存当中,一旦关闭程序或者断电,数据就会丢失;

    File:文件可以长久保存数据;文件在电脑磁盘当中保存,即便关闭程序或者断电,文件当中的数据也不会丢失;

    注意:File是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件,也可以是文件夹);File只能对文件本身进行操作,不能读写文件当中存储的数据

    IO流:用于读写数据(可以读写文件,也可以读写网络中的数据);

    绝对路径和相对路径:

    绝对路径带盘符;相对路径不带盘符,默认到工程下寻找文件(推荐);

    递归算法:递归算法的三要素:递归的公式;递归终点;递归公式必须走向递归终点;

2 字符集

    标准ASCII字符集:美国信息交换标准代码,包括了英文,符号等;标准ASCII使用一个字节存储一个字符,首位是0,因此,总共可以表示128个字符;

    GBK:(汉字内码扩展规范,国标)

    汉字编码字符集,包含了两万多个汉字等字符,GBK中一个中文字符编码成两个字节的形式存储;

    注意:GBK兼容了ASCII字符集;且规定汉字的第一个字节必须是1(总共可以表示2的15次方的字符);

    Unicode字符集:统一码,也叫万国码

    Unicode是国际组织制定的,可以容纳世界上的所有文字,符号的字集;

    UTF-8字符集:是Unicode字符集的一种编码方案,采取可变长编码方案,共分四个长度区,一个字节,两个字节,三个字节,四个字节;英文字符,数字等只占用一个字符(兼容ASCII编码),汉字占用三个字节;

3 IO流

    IO流的作用?  读写文件数据

    IO的分类以及其作用?字节输入流(InputStream),读字节数据;字节输出流(OutputStream),写字节数据出去;字符输入流(Reader),读字符数据;字符输出流(Writer),写字符数据出去;

    实现类分别为:

    文件字节输入流(FileInputStream),以内存为基准,可以把磁盘文件当中的话数据以字节的形式读入到内存当中;

    文件字节输出流(FileOutputStream),以内存为基准,可以把内存中的数据以字节的形式写出到磁盘文件当中;

    文件字符输入流(FileReader),以内存为基准,可以把文件当中的话数据以字符的形式读入到内存当中;

    文件字符输出流(FileWriter)),以内存为基准,可以把内存中的数据以字符的形式写出到磁盘文件当中;

    缓冲字节输入流(BufferedInputStream):可以提高字节输入流读取数据的性能(自带8KB缓冲池);

    缓冲字节输出流(BufferedOutputStream):可以提高字节输出流写字节的性能(自带8KB缓冲池);

    缓冲字符输入流(BufferedReader):可以提高字节输入流读取数据的性能(自带8KB缓冲池);

    缓冲字符输出流(BufferedWriter):可以提高字节输出流写字符的性能(自带8KB缓冲池);

    字符输入转换流(InputStreamReader):解决不同编码时,字符流读取文本内容乱码的问题;解决的思路:先获取文件的原始字节流,再将其按照真实的字符集编码转成字符输入流,这样字符输入流当中的字符就不会出现乱码;

    打印流(PrintStream/PrintWriter):打印流可以实现更方便,更高效的打印数据出去,能实现打印啥出去就是啥出去;

    数据输出流(DataOutPutStream):允许把数据和其类型一起写出去;

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值