java高级特性第三章
前言
-
File I/O
- File I/O
- I/O:int(开) 和 out(关)
- 文件的输入和文件输出
File类访问文件属性
-
File类创建文件对象 操作文件或目录的属性(路径、权限、日期和时间等)
-
File file = new File(String pathname);
输入流
字节输入流InputStream
-
: FileInputStream f = new FileInputStream(“文件路径”)
- 读取文件的内容
方法 | 介绍 |
---|---|
read() | 读取内容 |
close() | 关闭 |
available () | 返回的字节长度 |
字节 代码样式
FileInputStream fis = null;
try {
//创建FileInputStream对象, 输入流
fis = new FileInputStream ( "E:\\java高级特性\\aaa.txt" );
int data;
System.out.println ("字节长度为:"+fis.available ());
System.out.println ("文本内容有:");
//找不到会返回-1
while ((data = fis.read ()) != -1){
System.out.print ((char) data + " ");
}
} catch (IOException e) {
e.printStackTrace ( );
}finally {
try {
fis.close ();
} catch (IOException e) {
e.printStackTrace ( );
}
}
字符输入流Reader基类
-
: FileReader f = new FileReader(“文件的路径”)
- BufferedReader类是Reader类的子类
方法 | 介绍 |
---|---|
readLine() | 按行来读取内容 |
close() | 关闭 |
字符 代码演示
FileReader fr = null;
BufferedReader br = null;
try {
//创建对象
fr = new FileReader ( "E:\\java高级特性\\aaa.txt" );
//创建BufferedReader对象
br = new BufferedReader ( fr );
String length = null;
//开启循环
while ((length = br.readLine ()) != null){
System.out.println (length);
}
} catch (IOException e) {
e.printStackTrace ( );
} finally {
try {
//先判断存在不存在内容,然后再关闭
if(fr!=null){
fr.close ();
}
if (br!=null){
br.close ();
}
} catch (IOException e) {
e.printStackTrace ( );
}
}
总结
字节流是8位通用字节流,字符流是16位Unicode字符流
-
按流区分:
- 输入流:InputStream和Reader作为基类 字节输入流 字符输入流