File I/O学习总结

1.File文件的增删查

1)增
public void addFile(File file){
  file.createNewFile();
}

(2)删
public void deleteFile(File file){
  file.delete();
}

(3)查
public void findFile(File file){
  file.getName();
  file.getAbsolutePath();
}

2.流的指向

1)读入【文件  读到  程序中】
(2)写出【程序  写到  文件中】

3.流的分类

1)按流向区分: 输出流:OutputStream和Writer作为基类
               输入流:InputStream和Reader作为基类
(2)按照处理数据单元划分:字节流:InputStream和OutputStream
                       字符流:Writer和Reader

4.FileInputStream字节输入流实现数组读取

public static void main(String[] args){
   FileInputStream fis = new FileInputStream("D:\\wenjian.txt");
   int temp=0;
   byte[] bytes=new byte[1024];
   while((temp=fis.read(bytes))!=-1){
      for(int i=0;i<temp;i++){
         sout((char)bytes[i]);
      }
   }    
}

5.FileInputStream字节输入流和FileOutputStream字节输出流实现复制

FileInputStream fis=new FileInputStream("D:\\wenjian.txt");
FileOutputStream  fos=new FileOutputStream("D:\\wenjian_copy.txt");

int temp=0;
byte[] b=new byte[1024];

for((temp=fis.read(b))!=-1){
  fos.write(b,0,temp);
}

6.FileReader字符流实现读取

FileReader fr=new FileReader("D:\\wenjian.txt");
int temp=0;
char[] c=new char[1024];
while((temp=fr.read(c))!=-1){
  for(int i=0;i<temp;i++){
    sout(c[i]);
  }
}

7.FileWriter字符流实现写出

//true代表每次拼接字符串到文件中,默认为false
FileWriter fw=new FileWriter("D:\\wenjian.txt",true);
fw.write("我是中国人");

8.字符流实现复制

FileReader fr=new FileReader("D:\\wenjian.txt");
BufferReader br=new BufferReader(fr);

FileWriter fw=new FileWriter("D:\\wenjian_copy.txt");
BufferWriter bw=new BufferWriter(fw);

String  temp=null;
StringBuffer sb=new StringBuffer();
while((temp=br.readline())!=null){
  sb.append(temp);
}
bw.write(sb.toString());
posted @ 2023-06-15 23:43  meed  阅读(17)  评论(0)    收藏  举报