我无法从我正在编写的程序的外部文件中提取信息。我班的程序是我要写一个程序,读取成对的数据(车辆,门号)并输出车辆类型的名称,收费,因素和收费公路使用的总账单。
Vehicle Type Factor Car Type
1 1.0 Compact Car
2 1.3 Small Car
3 1.6 Mid Size Car
4 2.0 Full size Car
5 2.4 Truck
6 2.7 16 Wheeler
Gate Toll
1 1.35
2 2.00
3 2.50
4 3.25
5 4.10
6 4.8
7 5.50
8 6.00
实施例。输出:
汽车类型基本收费因子成本
紧凑型轿车$ 1.35 1.00 $ 1.35
小型车$ 2.50 1.30 $ 3.25
中型车$ 4.10 1.60 $ 6.56
全尺寸车$ 5.50 2.00 $ 11.00
卡车$ 2.00 2.40 $ 4.80
16 Wheeler $ 3.25 2.70 $ 8.78
小型车$ 4.80 1.00 $ 4.80
小型车$ 6.00 1.30 $ 7.80
中型车$ 1.35 1.60 $ 2.16
全尺寸车$ 2.50 2.00 $ 5.00
卡车$ 4.10 2.40 $ 9.84
16 Wheeler $ 5.50 2.70 $ 14.85
紧凑型车$ 6.00 1.00 $ 6.00
小型车$ 1.35 1.30 $ 1.75
中型车$ 2.00 1.60 $ 3.20
全尺寸车$ 2.50 2.00 $ 5.00
卡车$ 3.25 2.40 $ 7.80
16 Wheeler $ 4.10 2.70 $ 11.07
(程序应输出的内容如上所示)
我知道如何读取外部文件,但我不确定提取和使用文件中的信息是否需要一系列不同的步骤。我不知道我是否遗漏了一些明显的东西,因为我还是初学者,但我的基本代码是带有外部文件的while循环:
import java.io.*;
import java.util.*;
public class Prog40
{
public static void main(String[] args) throws IOException
{
Scanner kbReader = new Scanner(new File("C:\\Users\\Guest\\Documents\\Programs\\Prog40\\Prog40.in"));
while(kbReader.hasNext())
{
}
}
}
文件数据是:
1 1
2 3
3 5
4 7
5 2
6 4
1 6
2 8
3 1
4 3
5 5
6 7
1 8
2 1
3 2
4 3
5 4
6 5
我知道我可以完成程序的其余部分,但是从文件中提取信息并使用它仍然让我感到困惑。有人可以指导我使用外部文件吗?非常感谢任何帮助。
答案 0 :(得分:0)
我觉得最容易做的是:
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)))
的操作,将文件作为BufferedReader(http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html)获取。逐行阅读文件:
String line;
while( (line=reader.readLine())!=null){
//do something with the line of text.
}
答案 1 :(得分:0)
以这种方式做。您的数据将存储在resultCollection中。
public class Prog40
{
public static void main(String[] args) throws IOException
{
Scanner kbReader = new Scanner(new File("C:\\Users\\Guest\\Documents\\Programs\\Prog40\\Prog40.in"));
List<String> resultCollection = new ArrayList<String>();
while(kbReader.hasNext())
{
String line = kbReader.nextLine();
resultCollection.add(line);
}
}
}
在resultCollection中获取后,您可以对其执行一些操作。
public void someAction(List<String> resCollection){
//do stuff there.
}