我支持阅读一个文件,假设它有 3 行:
2
Berlin 0 2 2 10000 300
Nilreb 0 2 2 10000 300
第一个整数显示我有多少个名称(行)。
第 2 行和第 3 行显示有关两个邮局的信息。
他们 我应该读取每一行并保存数据。
我必须创建邮局,它们是名字:柏林和尼尔布。
谁能帮我?
到目前为止,我已经这样做了:
public static void read_files() throws IOException{
Scanner in = new Scanner(new File("offices")); //open and read the file
int num_of_lines = in.nextInt();
while(in.hasNext()){
String offices = in.nextLine();
}
要读取文件,我建议您使用ArrayList:
Scanner s = new Scanner(new File(//Here the path of your file));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext())
{
list.add(s.nextLine());
}
现在在您的ArrayList
中,您将拥有文件的所有行。所以,现在,你可以用for循环浏览你拥有的所有邮局(我从索引1开始,因为第一行是文件中有多少个邮局的行,你不需要用这种方法)并split
它们以获取有关它们的所有信息。例如,在Strings
数组的位置 0 中,您将拥有邮局的名称,在其余位置 (1,2,3,4...) 中存储文件的其余值(行中的空格为一个值)。喜欢这个:
for(int i = 1; i < list.size(); i++)
{
String[] line = list.get(i).split(" ");
System.out.println("The name of this post office is " + line[0]);
}
编辑:我现在在上面的评论中看到您想为每行创建一个类。然后你可以做(在for循环内,而不是System.out.println
)我放在下面的代码(假设你的类将被PostOffice
):
PostOffice postOffice = new PostOffice(line[0],line[1],line[2],line[3],line[4],line[5]);
注意:如果您对我的代码不了解,请告诉我。
我希望这对你有帮助!
我想通了:你能检查它是否正确吗:
public static void read_files() throws IOException{
Scanner in = new Scanner(new File("offices"));
int num_of_lines = in.nextInt();
String[] office = new String[num_of_lines];
while(in.hasNext()){
for(int = 0; i < num_of_lines; i++){
office[i] = in.next();
}
列表项