我的程序读取各种大小的文本文件。然后它从文本文件中获取数字并根据数字创建数组列表。我计划使用的最大文件是 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
更新:感谢那些回答的人,它非常有帮助
新问题
我现在想将文件中的数字读入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
在我使用扫描仪读取文件之前,该扫描仪被命名为scandaily。现在我有一个文件阅读器和一个缓冲阅读器,我用哪一个来浏览我的 txt 文件?