Java-IO-从文件中读取数据

完善下面Main类中的方法: public static List readFromFile(File file) ,该方法是Main类的一个静态成员方法。

readFromFile方法的定义:

方法接口如下:
public static List<Integer> readFromFile(File file){

   //编写代码并提交该方法的实现代码
}

该方法的功能是以字节流的方式读取目标文件(参数file)中的数据,将读取的int数据放入到一个List集合中,并返回包含了数据的List集合对象。

Main类代码:


import java.io.*;
import java.util.Objects;
import java.util.Scanner;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
            //输入要读取的目标文件名
        String fileName = scanner.next(); 
            //获取根目录
            File base = new File(Objects.requireNonNull(Main.class.getResource("")).getPath()).getParentFile();
            //用输入的文件名实例化File类对象
       File file = new File(base+File.separator+fileName);
            //从文件中读取数据,并返回包含数据的List集合
        List<Integer> data = readFromFile(file);
            //输出集合中包含的int数据的数量
        System.out.println(data.size());
    }
    //方法接口声明
    public static List<Integer> readFromFile(File file){

      //完成方法的实现,并提交该部分代码

    }
}

输入样例:
在这里给出一组输入。例如:


usr/lib/x86_64-linux-gnu/libfreeblpriv3.chk
结尾无空行

输出样例:
在这里给出相应的输出。例如:

899
结尾无空行

首先要了解一下数据是以什么格式保存的,数字之间是怎么分隔的呢?


 //方法接口声明
    public static List<Integer> readFromFile(File file){
        List<Integer> resutl = new ArrayList();
        try {
            BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
            String temp;
            while((temp = bufferedReader.readLine()) != null){
                String[] split = temp.split(" ");
                for(String entry : split){
                    resutl.add(Integer.valueOf(entry));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return resutl;
    }
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632