手记

【备战春招】第7天 JAVA输入输出流

课程名称:JAVA输入输出流

课程章节:第2章 File类的使用

课程讲师: Cedar

课程内容:

 

一、文件的编码

byte[] bytes1 = s.getBytes(); //转换成字节序列,使用项目默认的编码gbk

byte[] bytes2 = s.getBytes("gbk"); //中文2个字节,英文1个字节

byte[] bytes3 = s.getBytes("utf-8"); //中文3个字节,英文1个字节

//java是双字节编码,utf-16be

byte[] bytes3 = s.getBytes("utf-16be"); //中文2个字节,英文2个字节

for(byte b:bytes1){

System.out.print(Integer.toHexString(b & 0xff) + " "); //把字节转换成int,以16进制的方式显示

}

//当字节序列是某种编码时,如需要把字节序列转成字符串,也需要用这种编码方式,否则会乱码

String str1 = new String(bytes1); //用项目默认的编码

String str2 = new String(bytes4,"utf-16be");

//中文机器直接创建文本文件,该文件只认识ANSI编码;

二、File类的使用

java.io.File类主要用于表示文件(目录)

File类只能用于文件的信息展示,如大小、名称,不能用于文件内容的访问

1、File类的常用API

File file = new File("");

File file = new File("","");

File.separator; //文件分隔符

file.exists(); //判断文件是否存在

file.isDirectory(); //是否目录,是目录返回true

file.isFile(); //是否文件,是文件返回true

file.mkdir()、file.mkdirs(); //创建目录、多级目录

file.createNewFile(); //创建文件

file.delete(); //删除文件

file.getAbsolutePath(); //文件路径

2、遍历目录

String[] filenames = dir.list(); //返回的是字符串数组,直接子的名称,不包含子目录下的内容

File[] files = dir.listFiles(); //返回的是直接子目录(文件)的抽象

//列出目录(包括其子目录)的所有文件

三、RandomAccessFile基本操作

RandomAccessFile是JAVA提供的对文件内容的访问,既可以读文件,也可以写文件

支持随机访问文件,可以访问文件的任意位置

(1)JAVA文件模型

  • 在硬盘上的文件是byte byte byte存储的,是数据的集合

(2)打开文件

  • 有两种模式"rw"(读写)"r"(只读)

RandomAccessFile raf = new RandomAccessFile(file, "rw");

文件指针,打开文件时指针在开头pointer = 0;

(3)写方法

  • raf.wriet(int); //只写一个字节(后8位),指针指向下一个位置

(4)读方法

  • int b = raf.read(int); //读一个字节

(5)文件读写完成后一定要关闭

课程收获:

File类常用API较易上手,RandomAccessFile类与文件编码关联较大,还需要将文件编码再继续加深理解才行。


0人推荐
随时随地看视频
慕课网APP