**小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
**
1.File类
File :磁盘上的文件或目录
(1)作用:用来存储磁盘上的文件或目录的信息,以及对他们的操作
(2)构造器:
File(String path);
(3)方法:
getName(); //获取文件或目录名
getPath(); //获取路径
getAbsolutePath(); //获取绝对路径
getParent(); //获取父目录路径
canRead();
canWrite();
isHidden();
length();
delete();
mkdir();
mkdirs();
createNewFile();
exists()
....
2.流的概念
java语言中,用来数据传输的载体。
3.流的分类
(1)传输方向
输入流:读取数据源数据到程序中
输出流:把程序中的数据写入到目的端
(2)处理方式
字节流:读写的基本单位是一个字节
字符流:读写的基本单位是一个字符
(3)基本功能
节点流
过滤流
4.字节流
(1)字节输入流
接口:InputStream
实现类:FileInputStream
方法:void close();
int read();
int read(byte[] b)
int read(byte[] b,int offset,int len)
说明:读取数据失败,返回-1
(2)字节输出流
接口:OutputStream
实现类:FileOutputStream
方法:void close();
void write(int i)
void write(byte[] b)
void write(byte[] b,int offset,int len)
5.字符流
(1)字符输入流
父类:Reader
实现类:FileReader
方法:void close();
int read();
int read(char[] b)
int read(char[] b,int offset,int len)
说明:读取数据失败,返回-1
(2)字符输出流
父类:Writer
实现类:FileWriter
方法:void close();
void write(int i)
void write(char[] b)
void write(char[] b,int offset,int len)
void write(String str);
6.字符集
(1)字符集就是字符在存储时转换为二进制的交换规则。
(2)常见的字符集有:
ascii 英文字符集
iso-8859-1 英文字符集
gbk 英文中文字符集
gb2312 英文中文字符集
utf-8 英文中文及其他字符字符集
(3)乱码问题:
a.采用的字符集不支持该字符
b.编码和解码采用的字符集不一致
7.字节流转为字符流
(1)InputStreamReader(InputStream in)
(2)OutputStreamReader(OutputStream out)
8.过滤流
(1)用途:封装节点流,增强功能
(2)举例:
BufferedInputStream(InputStream in);
BufferedOutputStream(OutputStream out);
BufferedReader(Reader in);
BufferedWriter(Writer out);