File类概述和构造方法
FIle类创建功能
创建过则返回true,没有则false
案例:递归求阶乘
案例遍历目录
IO流概述和分类
字节流写数据(一定要记得释放资源)
写数据的两个问题:换行和追加
追加
package IO;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStream01 {
public static void main(String[] args) throws IOException {
FileOutputStream fos=null;
try {
fos= new FileOutputStream("java.txt");
fos.write("Hello\r\nworld".getBytes());
}catch (IOException e){
e.printStackTrace();
}finally {
fos.close();
}
}
}
字节流写数据异常处理
用try {
…
}catch (IOException e){
e.printStackTrace();
}finally {
…
}
因为最后还得释放资源
```java
package IO;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStream01 {
public static void main(String[] args) throws IOException {
FileOutputStream fos=null;
try {
fos= new FileOutputStream("java.txt");
fos.write("Hello".getBytes());
}catch (IOException e){
e.printStackTrace();
}finally {
fos.close();
}
}
字节流读数据
package IO;
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStream01 {
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("java.txt");
// int by = fis.read();
// //java.txt存储的是He(一次读取一个数据)
// System.out.println(by);//72 H
// System.out.println((char)by);//强转才能输出H
// //第二次读
// by=fis.read();
// System.out.println(by);
// System.out.println((char)by);//e
// //第三次读
// by=fis.read();
// System.out.println(by);
// System.out.println((char)by);//-1
int i=fis.read();
while(i!=-1){
System.out.println((char)i);
i=fis.read();
}
fis.close();
/*优化上面的程序
fis.read():把读取到的数据赋值给by
by!=-1:判断读取到的数据是否是-1
*/
int by;
while((by=fis.read())!=-1){
System.out.println((char)by);
}
fis.close();
}
}
字节流复制文本文件
①赋值文本文件,其实就是把文本文件的内容从一个文件中读取出来(读数据),然后写入到另一个文件中(目的地)
②数据源:D:\1\lyric.txt------读数据-------FileInputStream
③目的地:myByteStream\lyric.txt-----写数据--------FileOutputStream
package IO;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyTxtDemo {
public static void main(String[] args) throws IOException {
//根据数据源创建输入流对象
FileInputStream fis=new FileInputStream("D:\\1\\lyric.txt");
FileOutputStream fos=new FileOutputStream("lyric.txt");
int by;
while((by=fis.read())!=-1){
fos.write(by);
}
fis.close();
fos.close();
}
}
字节流读取数据
字节流复制图片
字节缓冲流