文件大小对于java来说太大了

Dan*_*nny 2 java memory

我的程序读入各种大小的文本文件.然后它从文本文件中获取数字并根据数字创建数组列表.我计划使用的最大文件是286,040 KB.当我运行我的程序并且它读取文件时,我的程序停止工作.

我怎么知道我的java程序可以处理的最大大小是多少?有没有办法计算我的java程序可以处理的文件大小?

另外,使我的程序能够容纳如此大尺寸的数组列表的最佳建议是什么?但是,我听说过哈希表; 我无法完全理解这个概念.

每个请求,我正在添加我上传文件的方式:

String name = getFileName();
Scanner scanDaily = new Scanner(new File(name));

public static String getFileName()
{ //getFileName
    Scanner getName = new Scanner (System.in);
    System.out.println("Please input File Name");
    String fileName = getName.nextLine();
    return fileName;    
}  //getFileName
Run Code Online (Sandbox Code Playgroud)

更新:谢谢那些回复,非常有帮助的人

新问题

我现在想把文件中的数字读成一个arraylist

          String name = getFileName();
    FileReader f= new FileReader(new File(name));
        BufferedReader bf=new BufferedReader(f);
        Scanner sc=new Scanner(bf);

    ArrayList<Double> ID = new ArrayList<Double>();
    ArrayList<Double> Contract = new ArrayList<Double>();
    ArrayList<Double> Date = new ArrayList<Double>();
    ArrayList<Double> Open = new ArrayList<Double>();
    ArrayList<Double> High = new ArrayList<Double>();
    ArrayList<Double> Low = new ArrayList<Double>();
    ArrayList<Double> Close = new ArrayList<Double>();
    ArrayList<Double> Volume = new ArrayList<Double>();

    int rows = 8;
    int counter1 = 0;

    //Update code to prompt user for file
    ArrayList<Double> list = new ArrayList<Double>();

    while (scanDaily.hasNext())
    { //while
        double value = scanDaily.nextDouble();
        DecimalFormat df = new DecimalFormat("#.#####");
        df.format(value);
        list.add(value);
    }  //while
Run Code Online (Sandbox Code Playgroud)

在我使用扫描仪读取我的文件之前,该扫描仪被命名为scandaily.现在我有一个文件读取器和一个缓冲读卡器,我用哪个来浏览我的txt文件?

Arn*_*lle 6

你真的需要将整个文件放在内存中吗?

对于简单的治疗,您应该考虑使用BufferedReader,尤其是BufferedReader.readLine

您可以对文件的每一行执行操作,因此您不再需要加载整个文件.