Java 将文本行从文件转换为字符串数组
我读取了.txt文件中的信息,现在我想将文本中的信息行存储到字符串数组或变量中 .txt文件中的信息如下所示:Java 将文本行从文件转换为字符串数组,java,drjava,Java,Drjava,我读取了.txt文件中的信息,现在我想将文本中的信息行存储到字符串数组或变量中 .txt文件中的信息如下所示: Onesimus, Andrea BAYV Twendi, Meghan RHHS Threesten, Heidi MDHS 我想将BAYV、RHHS、MDHS存储到与名称不同的数组中 import java.io.File; import java.util.Scanner; class testing2 { public static void main(String []
Onesimus, Andrea
BAYV
Twendi, Meghan
RHHS
Threesten, Heidi
MDHS
我想将BAYV、RHHS、MDHS存储到与名称不同的数组中
import java.io.File;
import java.util.Scanner;
class testing2 {
public static void main(String [] args) throws Exception {
File Bayviewcamp = new File ("H:\\Profile\\Desktop\\ICS3U\\Bayviewland Camp\\Studentinfo.txt");
Scanner scanner = new Scanner (Bayviewcamp);
while (scanner.hasNextLine())
System.out.println(scanner.nextLine());
下面的代码有一些限制,例如:
private static final int ARRAY_LENGTH = 100;
public static void main(String[] args) throws FileNotFoundException {
boolean isValue = false;
File txt = new File("file.txt");
Scanner scanner = new Scanner(txt);
String[] names = new String[ARRAY_LENGTH];
String[] values = new String[ARRAY_LENGTH];
int lineNumber = 0;
while (scanner.hasNextLine()) {
if (isValue) {
values[lineNumber / 2] = scanner.nextLine();
} else {
names[lineNumber / 2] = scanner.nextLine();
}
isValue = !isValue;
lineNumber++;
}
for (int i = 0; i < ARRAY_LENGTH; i++) {
System.out.println(names[i]);
System.out.println(values[i]);
}
}
检查名称是否与正则表达式“
[A-Z]+
”匹配
到目前为止你试过什么?另外,您的要求不是很清楚,是否只存储大写字母?请不要使用“紧急”一词。@GabrielPráNo,我要存储姓名(例如Onesimus、Andrea)将大写字母放入一个数组,将大写字母放入另一个数组。它们的格式始终是:名称和下一行是值?请阅读-总结是,这不是一种理想的方式来称呼志愿者,并且可能会对获得答案产生反作用。请不要将此添加到您的问题中。
private static final int ARRAY_LENGTH = 100;
public static void main(String[] args) throws FileNotFoundException {
boolean isValue = false;
File txt = new File("file.txt");
Scanner scanner = new Scanner(txt);
String[] names = new String[ARRAY_LENGTH];
String[] values = new String[ARRAY_LENGTH];
int namesNumber = 0;
int valuesNumber = 0;
while (scanner.hasNextLine()) {
if (!isValue) {
String tempArrayNames[] = scanner.nextLine().split(",");
values[valuesNumber++] = tempArrayNames[0].trim();
values[valuesNumber++] = tempArrayNames[1].trim();
} else {
names[namesNumber++] = scanner.nextLine();
}
isValue = !isValue;
}
}
List<String> upperCaseList = new ArrayList<>();
List<String> lowerCaseList = new ArrayList<>();
while (scanner.hasNextLine()) {
String[] names = scanner.nextLine().split(",");
for(String name:names) {
if(name.matches("[A-Z]+")) {
upperCaseList.add(name);
}
else {
lowerCaseList.add(name);
}
}
}
for(String name:names) {
if(name.trim().matches("[A-Z]+")) {
upperCaseList.add(name.trim());
}
else {
lowerCaseList.add(name.trim());
}
}