#Filewriter与FileReader
package mytwe;
import java.io.File;
import java.io.*;
import java.io.FileReader;
import java.io.IOException;
public class IO {
public static void main(String[] args) throws IOException {
FileReader fr=null; //创建一个fileraeder对象用来读取文件
FileWriter fw=null; //创建一个filewriter对象来
File srcFile=new File("L:\\excrise\\xxx.txt"); //创建File类对象,指明读入和写出的文件
File desFile=new File("L:\\excrise\\xxx1.txt");
if(srcFile.exists()) //用.xists方法判断文件是否存在
System.out.println("存在");
if(desFile.exists())
System.out.println("存在1");
if(srcFile.isFile())
System.out.println("有文件");
if(desFile.isFile())
System.out.println("有文件1");
System.out.println(srcFile.getPath()); //.getPath方法获得文件地址
System.out.println(desFile.getPath());
try {
try {
fr = new FileReader(srcFile); //用try捕获报错,不然idea会报红
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
fw = new FileWriter(desFile);
} catch (IOException e) {
e.printStackTrace();
}
char[] cbuf = new char[28]; //定义一个数组用来获得文件中的字符
int len; //记录每次读入到chuf数组中的字符的个数
while ((len = fr.read(cbuf)) != -1) {
fw.write(cbuf, 0, len);
System.out.println(cbuf);
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if(fw!=null) //关闭流资源
fw.close();
}catch (IOException E){
E.printStackTrace();
}finally {
try {
if(fr!=null){
fr.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
}
}
}
这是用FileReader和FileWriter写的一个文件输入输出流。我个人的理解如下:
- File创建对象之后有很多如getPath,exists等方法可以操作,用来对该确定该对象是否含有文件等。
- 要注意的是,File创建对象时,选择的文件如果是和该代码的位置一致,就不需要在文件名前写在哪个盘之类的,但是如果不是,需要写出具体地址。
- 当创建输入输出流的时候,需要用到try,catch捕获异常,不然idea会报红。
- 输出流之后要关闭流资源,不然会造成资源浪费。
- 总共的文件输入输出流的操作可大体分为四步:声明流对象,完成输入输出流的操作,在catch中捕获异常,关闭流资源。
费。 - 总共的文件输入输出流的操作可大体分为四步:声明流对象,完成输入输出流的操作,在catch中捕获异常,关闭流资源。
- 当然IO除了这个之外还有InPutSteam,OutPutSteam等字节流,我还只是学了浅浅的一部分,还需要多加钻研。