A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

首先我们来new个对象吧!
public static void main(String[] args) throws IOException {
      BufferedReader br = new BufferedReader(new FileReader("XXX"));
      BufferedWriter bw = new BufferedWriter(new FileWriter("XXX"));
格式就是这样,这里也要注意,缓冲流后面的括号里要加上new FileWrite/new FileReader   因为不识别字符串类型,直接写地址是会报错的
接下来学习了缓冲流的特有方法
BufferedWriter
      void newLine():写一个换行符,有系统决定
BufferedReader
    String readLine():一次读取一行数据,但是不读取换行符
然后这个练习是用缓冲流的特有方法来复制文档
public static void main(String[] args) throws IOException {
      BufferedReader br = new BufferedReader(new FileReader("firstday.java"));
      BufferedWriter bw = new BufferedWriter(new FileWriter("copy.java"));
      String str;
      while((str = br.readLine())!=null){
          bw.write(str);
          bw.newLine();
      }
      bw.close();
      br.close();
   }
到这里呢,一共学习了五种复制文本的方法
分别是
FileWrite/FileReader的一次一个字符方法
FileWrite/FileReader的一次一个字符数组方法
BufferedFileWrite/BufferedFileReader的一次一个字符方法
BufferedFileWrite/BufferedFileReader的一次一个字符数组方法
BufferedFileWrite/BufferedFileReader的一次一个字符串方法
接下来综合今天所学练习了将集合中的元素写到文档
public static void main(String[] args) throws IOException {
      // 将集合中的元素写入文本中
      ArrayList<String> list = new ArrayList<>();
      list.add("wahaha");
      list.add("123456");
      list.add("嗯嗯嗯嗯嗯嗯");
      BufferedWriter bw = new BufferedWriter(new FileWriter("ArrayList.txt"));
      for(int i=0;i<list.size();i++){
          String str = list.get(i);
          bw.write(str);
          bw.newLine();
      }
      bw.close();
   }


回复 使用道具 举报
然后放一道今天的作业吧,感觉还是挺好玩的
public class misson3 {
   /*
    * 1. 定义一个存储Student对象的集合;
      2. 循环从文件中读取数据,每次读取一行,并解析每个属性值,封装到一个Student对象中,并将这个对象封装到集合中。
      3. 遍历集合,找到要修改的卢俊义,并将姓名修改为:史文恭
      同时将数据再次写回到文件中。
      4. 程序结束后,验证文件中的数据是否修改成功
    */
   public static void main(String[] args) throws IOException {
      ArrayList<Student_3> list = new ArrayList<>();
      BufferedReader br = new BufferedReader(new FileReader("name.txt"));
     
      String len;
      while ((len = br.readLine())!=null) {
          String[] sp = len.split(",");
          Student_3 s = new Student_3();
          s.setId(sp[0]);
          s.setName(sp[1]);
          s.setSex(sp[2]);
          s.setAge(sp[3]);
          list.add(s);
      }
      for(int i=0;i<list.size();i++){
          Student_3 s = new Student_3();
          s = list.get(i);
          String string = s.getName();
          if(string.equals("卢俊义")){
             s.setName("史文恭");
          }
      }
      BufferedWriter bw = new BufferedWriter(new FileWriter("name.txt"));
      for(int i=0;i<list.size();i++){
          Student_3 s = new Student_3();
          s = list.get(i);
        bw.write(s.getId()+","+s.getName()+","+s.getSex()+","+s.getAge());
          bw.newLine();
          bw.flush();
      }
      bw.close();
   }
}
充分使用了缓冲流和集合,今天的作业做的简直头大,各种绕,代码也比较多.不过还好,问题不大.都解出来了^_^
马上基础班结束了,希望可以继续保持这种状态,每天少打瞌睡多敲代码!!

回复 使用道具 举报
温故而知新    加油哦  
回复 使用道具 举报
123
您需要登录后才可以回帖 登录 | 加入黑马