簡體   English   中英

使用StringTokenizer在Java中讀取多行

[英]Reading multiple lines in java using a StringTokenizer

我正在嘗試讀取Java中txt文件的多行,但我不知道如何獲取它來讀取下一行。 我嘗試了一個while循環,當我運行程序時,什么也沒出現。 我做了一段while (line != null) {所以它可以讀取下一行,但是我沒有運氣來完成任務。

這是文本文件的讀取方式

 20141003 20131105 19990205 20080304,20080305,20080306 19990206,hello,20141001,200003 20050505 July November,August 19640503 19980707 19642199 20141013 
import java.util.*;

public class Tokens1 {
  public static TextFileInput myFile;
  public static StringTokenizer myTokens;
  public static String[] list;
  public static String line;


  public static void main(String[] args) {
    myFile = new TextFileInput("project1.txt");
    line = myFile.readLine();
    myTokens = new StringTokenizer(line, ",");

    list = new String[myTokens.countTokens()];

    int i = 0;
    while (myTokens.hasMoreTokens()) {
      list[i] = myTokens.nextToken();
      i++;
    }

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

}

您也可以在while循環中進行行讀取。 以下是一個相當典型的實現,它讀取文件的每一行,直到eof為止。 我不確定為什么while循環的實現無法正常工作,因此發布代碼會有所幫助。

while ((line = reader.readLine()) != null)
{
    myTokens = new StringTokenizer(line, ",");

    list = new String[myTokens.countTokens()];

    int i = 0;

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

我將第二個想法使用split()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM