java - 使用 StringTokenizer 将文件读入 Java

标签 java arrays stringtokenizer

我正在尝试执行一项非常简单的任务,但没有得到我想要的结果。我有一个文本文件,其名称在多行上用逗号分隔,我想将该信息存储在一维数组中。当我运行代码并尝试打印数组以确保记录了我的信息时,控制台仅打印出文本文件的最后一行。我的代码有什么问题吗?我尝试过使用它,但没有找到解决我的问题的方法。信息是否被覆盖?

import java.util.*;

public class Tokens {
public static TextFileInput myFile;
public static StringTokenizer myTokens;
public static String name;
public static String[] names;
public static String line;

public static void main(String[] args) {

myFile = new TextFileInput("namesofstudents.txt");

  while ((line = myFile.readLine())!= null) {       
     int i=0;    

     myTokens = new StringTokenizer(line, ",");
     names = new String[myTokens.countTokens()];

        while (myTokens.hasMoreTokens()){
          names[i] = myTokens.nextToken();
          i++;
     }        
  }    

for (int j=0;j<names.length;j++){
   System.out.println(names[j]);       
}


   } 
}

输入示例:

  Mark, Joe, Bob
  James, Jacob, Andy, Carl

输出:

James
Jacob
Andy
Carl

最佳答案

代码在每行开头将 i 初始化为 0。在运行开始时执行此操作。

关于java - 使用 StringTokenizer 将文件读入 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28819802/

相关文章:

java - 字典的数据结构

java - 字符串索引超出范围 : -1

java - 代码段说明

c++ - 将数组元素传递给模板

java - 计算分数表达式 : Subtraction

java - 使用分词器时验证空字符串

java - Android 启动画面和异步

java - 如何使用 Hibernate、HikariCP 和 persistence.xml 实现 Spring 的 @Transactional Annotation

javascript - 获取所有非唯一值(即 : duplicate/more than one occurrence) in an array

java - Java 中的多数据类型数组