IO流文件读取,写入;复制操作

IO流文件读取
  1. 一次性读一个字节

            package com.IO;
            import java.io.*;
            import static java.io.File.separator;
            public class FileIO {
                public static void main(String[] args) {
                    //对这个文件创建对象,导入数据包
                    File file = new File("d:"+ separator +"IDEA/Test.txt");
                    try {
                        //创建数据流FileReader,写入文件对象
                        FileReader reader = new FileReader(file);
                        int i =0 ;
                        //如果未读到-1;则一直读
                        while ((i=reader.read())!=-1){
                            //将读取的值转成char
                            System.out.println((char) i);
                        }
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
    
                }
            }
    
    
  2. 一次性读五个字节;通过创建存储空间;做缓存流

          package com.IO;
          import java.io.*;
          import static java.io.File.separator;
          public class FileIO {
              public static void main(String[] args) {
                  //对这个文件创建对象,导入数据包
                  File file = new File("d:"+ separator +"IDEA/Test.txt");
                  try {
                      //创建数据流FileReader,写入文件对象
                      FileReader reader = new FileReader(file);
                      int i =0 ;
                      //如果未读到-1;则一直读
                      while ((i=reader.read())!=-1){
                          //将读取的值转成char
                          System.out.println((char) i);
                      }
                      //一定一定要关闭数据流
                      reader.close();
                  } catch (FileNotFoundException e) {
                      e.printStackTrace();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
  
              }
          }
  
  1. 写入字符流

            package com.IO;
            import java.io.File;
            import java.io.FileWriter;
            import java.io.IOException;
            import static java.io.File.separator;
            public class DemoRead {
                public static void main(String[] args) {
                    File file = new File("d:"+ separator +"IDEA/Demo.txt");
                    try {
                        //创建写入对象,传入写入目录
                        FileWriter fileWriter = new FileWriter(file);
    
                        String s = "你好,再见";
                        //将字符传封装成对象,传入容器中
                        //通过char做写入缓存000
                        char[] chars = s.toCharArray();
                        //将包装好的chars对象传入到写的方法中
                        fileWriter.write(chars);
                        //一定要关闭写入IO流;否则写入不成功
                        fileWriter.close();
    
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    /*try {
                        FileReader fileRead = new FileReader(file);
                        char []ch =new char[5];
                        try {
                            int i = fileRead.read(ch);
                            while (i!=-1){
                                String s = new String(ch,0,i);
                                System.out.println(s);
                                i = fileRead.read(ch);
                            }
                            fileRead.close();
    
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }*/
    
                }
            }
    
    
    1. 复制文本操作
            package com.IO;
            import java.io.*;
            public class Copy {
                public static void main(String[] args) {
                    File file = new File("D://IDEA/Copy.txt");//这是复制的目标文件夹;如无此路径。则会自动创建
                    File file1 = new File("D://IDEA/Demo.txt");
                    //读取部分
                    try {
                        FileReader fileReader =new FileReader(file1);
                        char []chars1 = new char[5];
                        try {
                            int i = fileReader.read(chars1);
                            FileWriter fileWriter = new FileWriter(file);
    
                            while (i!=-1){
                                String s1 =new String(chars1,0,i);
                                System.out.println(s1);
                                //将读出来的东西S1写到另一个文件夹中  
                                i = fileReader.read();
                                String s =s1;
                                char []chars = s.toCharArray();
                                fileWriter.write(chars);
                            }
                            fileWriter.close();
                            fileReader.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
    
                   /*这里的原本的写入操作 
                   try {
                        FileWriter fileWriter = new FileWriter(file);
                        String s =i;
                        char []chars = s.toCharArray();
                        fileWriter.write(chars);
                        fileWriter.close();
    
    
    
                    } catch (IOException e) {
                        e.printStackTrace();
                    }*/
                }
    
            }
    
    
posted @ 2022-04-16 09:20  爱豆技术部  阅读(83)  评论(0)    收藏  举报