学习进度二

这次相比较上次而言 ,多了一个文本文件的读写,和一些大数的限制。通过这次作业,我复习了文本文件的读写,并且强化了自己的逻辑能力。虽然自己没能独立完成这次代码的编写,但是通过参考别人的代码自己弄懂了这个题目,收获很大。参考代码如下:

public static int[] toArrayByFileReader1(String name) {
        // 使用ArrayList来存储每行读取到的字符串
        File file = new File(name);
        judeFileExists(file);
        ArrayList<String> arrayList = new ArrayList<>();
        try {
            FileReader fr = new FileReader(name);
            BufferedReader bf = new BufferedReader(fr);
            String str;
            // 按行读取字符串
            while ((str = bf.readLine()) != null) {
                arrayList.add(str);
            }
            bf.close();
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 对ArrayList中存储的字符串进行处理
        int length = arrayList.size();
        int[] array = new int[length];
        for (int i = 0; i < length; i++) {
            String s = arrayList.get(i);
            array[i] = Integer.parseInt(s);
             
        }
        // 返回数组
        return array;
    }
    public static void judeFileExists(File file) {
         if (file.exists()) {
             System.out.println("文件存在!");
                }
         else {
                      System.out.println("文件不存在!");
                      System.exit(0);
//                      try {
//                          file.createNewFile();
//                      } catch (IOException e) {
//                          // TODO Auto-generated catch block
//                          e.printStackTrace();
//                      }
                  }
          
              }

  

public static int[] toArrayByFileReader1(String name) {
        // 使用ArrayList来存储每行读取到的字符串
        File file = new File(name);
        judeFileExists(file);
        ArrayList<String> arrayList = new ArrayList<>();
        try {
            FileReader fr = new FileReader(name);
            BufferedReader bf = new BufferedReader(fr);
            String str;
            // 按行读取字符串
            while ((str = bf.readLine()) != null) {
                arrayList.add(str);
            }
            bf.close();
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 对ArrayList中存储的字符串进行处理
        int length = arrayList.size();
        int[] array = new int[length];
        for (int i = 0; i < length; i++) {
            String s = arrayList.get(i);
            array[i] = Integer.parseInt(s);
             
        }
        // 返回数组
        return array;
    }
    public static void judeFileExists(File file) {
         if (file.exists()) {
             System.out.println("文件存在!");
                }
         else {
                      System.out.println("文件不存在!");
                      System.exit(0);
//                      try {
//                          file.createNewFile();
//                      } catch (IOException e) {
//                          // TODO Auto-generated catch block
//                          e.printStackTrace();
//                      }
                  }
          
              }

  

posted @ 2019-03-17 22:39  孙浩楠  阅读(93)  评论(0编辑  收藏  举报