Java 将文本行从文件转换为字符串数组

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 []

我读取了.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 [] 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());

下面的代码有一些限制,例如:

  • 必须有您所说的格式(名称和下一行值)
  • 默认情况下,数组大小为100,但可以根据需要进行更改
  • 我指的是一行:(Onesimus,Andrea)它在names数组的第一个索引下

    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());
                      }
                  }