Java:如何从输入文件读取和存储数据?
我需要存储具有以下格式的输入文件中的数据:Java:如何从输入文件读取和存储数据?,java,java.util.scanner,Java,Java.util.scanner,我需要存储具有以下格式的输入文件中的数据: k=5 1: 62 35 2: 10 49 1 Banana 2 Apple 我需要将k的值存储为int,然后我需要将接下来两行的int值存储为[2][2]数组,最后我需要将字符串“Banana”和“Apple”存储在一个列表中。我尝试使用useDelimiter,但它忽略了我的分隔符,并将整行作为一个行实例读取 public static void main(String[] args) { File file = new File("
k=5
1: 62 35
2: 10 49
1 Banana
2 Apple
我需要将k的值存储为int,然后我需要将接下来两行的int值存储为[2][2]数组,最后我需要将字符串“Banana”和“Apple”存储在一个列表中。我尝试使用useDelimiter,但它忽略了我的分隔符,并将整行作为一个行实例读取
public static void main(String[] args) {
File file = new File("input.text");
try {
Scanner scanner = new Scanner(file);
scanner.useDelimiter("n=");
scanner.useDelimiter(".:");
int k = scanner.nextLine();
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
array[i][j] = scanner.nextInt();
}
} scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
publicstaticvoidmain(字符串[]args){
文件=新文件(“input.text”);
试一试{
扫描仪=新扫描仪(文件);
scanner.useDelimiter(“n=”);
scanner.useDelimiter(“.:”);
int k=scanner.nextLine();
对于(int i=0;i<2;i++)
对于(int j=0;j<2;j++)
数组[i][j]=scanner.nextInt();
}
}scanner.close();
}catch(filenotfounde异常){
e、 printStackTrace();
}
}
如果文本总是具有相同的结构,那么您可以这样做
int k = Integer.parseInt(scanner.nextLine().substring("=")[1]);
String currentLine;
for (int i = 0; i < 2; i++)
currentLine = scanner.nextLine().substring(currentLine.indexOf(" ") + 1)
for (int j = 0; j < 2; j++)
array[i][j] = currentLine.split(" ")[j];
}
}
int k=Integer.parseInt(scanner.nextLine().substring(“=”[1]);
串电流线;
对于(int i=0;i<2;i++)
currentLine=scanner.nextLine()子字符串(currentLine.indexOf(“”+1)
对于(int j=0;j<2;j++)
数组[i][j]=currentLine.split(“”[j];
}
}
然后,对于香蕉和苹果解析,应用相同的逻辑。子字符串,直到从第一个空格+1字符的索引开始,因为我们不想保留它。然后将该字符串添加到列表中。您尝试的代码是…抱歉,添加了我目前得到的内容。您可以使用
next()
获取整个字符串,并使用分隔符对其应用拆分。请添加您得到的输出/结果以及您想要的输出/结果。例如,给定您已经提供的示例输入,数组内容是什么,以及您希望它们是什么。