小编Dan*_*nny的帖子

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

我的程序读入各种大小的文本文件.然后它从文本文件中获取数字并根据数字创建数组列表.我计划使用的最大文件是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 …
Run Code Online (Sandbox Code Playgroud)

java memory

2
推荐指数
1
解决办法
3674
查看次数

搜索阵列列表

我目前有一个名为list的数组列表,其中包含大量数字(双精度数).我需要将这个大数组列表分成8个较小的数组,我这样做:

//Array List "list" contains close to 8 million numbers in it
            for (int c1 = 0; c1 < list.size(); c1++)
        { //for
        counter1++;
        if (counter1 % rows ==1)
            ID.add(list.get(c1));
        else if (counter1 % rows ==2)
            Contract.add(list.get(c1));
        else if (counter1 % rows == 3)
            Date.add(list.get(c1));
        else if (counter1 % rows == 4)
            Open.add(list.get(c1));
        else if (counter1 % rows == 5)
            High.add(list.get(c1));
        else if (counter1 % rows == 6)
            Low.add(list.get(c1));
        else if (counter1 % rows == 7)
            Close.add(list.get(c1));
        else if (counter1 …
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
157
查看次数

标签 统计

java ×2

memory ×1