我正在一个简单的netbeans项目中工作,该项目旨在从文件中读取数据。该文件有5行,每行有两个字段(一个用于标识项目,另一个用于标识项目的数量)。我的问题是当我运行程序时它只读取第一行(即项目#1及其数量),并忽略其他4行。如何让它读取所有5行(或任何数字)而不仅仅是第一行?对不起,我知道这必须是初级的,我刚刚开始学习java并希望有人可以帮助教育我!谢谢!
根据要求,这是我正在使用的代码(对于它的价值,第一行是第3项,所以在打印输出中,所有返回为0,除了part3total,返回其数量为50):
public static void main(String[] args)
{
int snum;
int quantity;
int part1total, part2total, part3total,part4total, part5total;
part1total = 0;
part2total = 0;
part3total = 0;
part4total = 0;
part5total = 0;
InputFile orderinfo;
orderinfo = new InputFile("sprocketorders.txt");
snum = orderinfo.readInt();
quantity = orderinfo.readInt();
switch(snum)
{
case 1: part1total = part1total + quantity;
break;
case 2: part2total = part2total + quantity;
break;
case 3: part3total = part3total + quantity;
break;
case 4: part4total = part4total + quantity;
break;
case 5: part5total = part5total + quantity;
break;
}
System.out.println(part1total);
System.out.println(part2total);
System.out.println(part3total);
System.out.println(part4total);
System.out.println(part5total);
答案 0 :(得分:4)
由于你是从Java开始而你的情况是关于阅读 Only 第一行,我假设你正在读只是第一行没有任何结构< em>迭代而不是其余的。
您可以先使用while
开始。要把它放在伪代码中(所以你可以将它排序并自己尝试),另一种方法是这样做:
while(There are more lines to read) {
Read next line
Process line
}
答案 1 :(得分:1)
您可以遍历所有行。
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
// print the line.
System.out.println(line);
}
br.close();
答案 2 :(得分:0)
您可以尝试以下代码:
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
try {
archivo = new File("example.txt");
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while ((linea = br.readLine()) != null)
System.out.println(linea);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != fr) {
fr.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
答案 3 :(得分:0)
使用BufferedReader读取文件的行。
请参阅below以获取示例