我想知道如何检查文本文件行上的特定字符串,将其保存在数组中,然后转到该文本文件的下一行。
例如: (他是什么/年版/姓名/年龄/专业/号码)
竞争对手2014约瑟夫21学生20232341
竞争对手2013迈克尔23工程师23425123
作为输出,它会给我这个:
歌曲节' 2014
以下是竞争对手:
约瑟夫,21岁的学生 - 20232341
歌曲节' 2013
是竞争对手
迈克尔,23岁的工程师 - 23425123
编辑:java语言
答案 0 :(得分:0)
为此您将使用BufferedReader,您可以使用选项卡(缩进)对文本文件中的内容进行格式化,该选项卡将从BufferedReader读取为'\ t'我马上就会为您编写示例。< / p>
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class StackoverflowExample {
private static final int INFORMATION_CAP = 100;
private static String[][] INFORMATION = new String[INFORMATION_CAP][INFORMATION_CAP];
public StackoverflowExample() {
String currentLine;
String[] textData;
int lineID = 0;
boolean endOfFile = false;
try {
BufferedReader reader = new BufferedReader(new FileReader("textfile.txt"));
currentLine = reader.readLine();
while(!endOfFile && currentLine != null) {
currentLine = currentLine.trim();
textData = currentLine.split("\\t");
String userType = textData[0];
String year = textData[1];
String name = textData[2];
String age = textData[3];
String profession = textData[4];
String number = textData[5];
INFORMATION[lineID] = new String[] { userType, year, name, age, profession, number };
lineID++;
currentLine = reader.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new StackoverflowExample();
for(int i = 0; i < INFORMATION.length; i++) {
System.out.println("Type: " + INFORMATION[i][0] +
"year: " + INFORMATION[i][1] +
"name: " + INFORMATION[i][2] +
"age: " + INFORMATION[i][3] +
"profession: " + INFORMATION[i][4] +
"number: " + INFORMATION[i][5]);
}
}
}
在项目主目录中创建一个名为“textfile.txt”的文本文件,并将其格式化为
type(tab)year(tab)name(tab)age(tab)profession(tab)number(newline)