我的程序读入各种大小的文本文件.然后它从文本文件中获取数字并根据数字创建数组列表.我计划使用的最大文件是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) 我目前有一个名为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)