【问题标题】:How do I make arrays after reading a text file读取文本文件后如何制作数组
【发布时间】:2015-02-01 22:38:57
【问题描述】:
package telephonenumber;

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;

public class TelephoneNumber 
{

public static void main(String[] args) 
{
  Scanner k = new Scanner(System.in);
  System.out.println("Enter name of file to read (format: fileName.txt)");
  String fileName = k.nextLine();

  Scanner ipStream = null;
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////   
  try
  {
      ipStream = new Scanner(new File (fileName));

  }
  catch(IOException bad)
  {
              System.out.println("Error opening the file for read:" + fileName);
              System.exit(0);
  }
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////

  while(ipStream.hasNextLine())//file is located
  {
      String dataLine = ipStream.nextLine();
      dataLine.split("  ");
      String zero = line[0];
      String one = line[1];
      String two = line[2];
      String three = line[3];
      String four = line[4];
      System.out.println(line[0]);;

  }



  System.out.println("End of file reached");
  ipStream.close();
}

}

我的文本文件是一串数字,如下所示:

  • 155 156 8604
  • 160 077 1405
  • 774 512 5423
  • 832 105 6993
  • 774 563 9912

项目符号不在文本文件中。它只是逐行进行。


如何将每一行数字变成一个数组?

【问题讨论】:

    标签: java arrays io


    【解决方案1】:

    你应该将split的返回值赋给一个数组:

    String[] line = dataLine.split("  ");
    

    【讨论】:

      【解决方案2】:

      如果您想将每一行添加为元素,您应该查看ArrayList 而不是array,因为您无需担心array 的大小。你可以尝试如下

      Scanner sc=new Scanner(new File (fileName));
      List<String> list=new ArrayList<>();
      while(sc.hashNextLine()){
        list.add(sc.nextLine());
      }
      

      现在您的 List 包含所有行。如果我采用 List 的一个元素,它将是 155 156 8604。现在,如果您想按" " 拆分并获取每个号码,您可以尝试关注

      List<String> numbers=new ArrayList<>();
      for(String i:list){  
         numbers.addAll(Arrays.asList(i.split(" ")));
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-24
        • 2022-01-14
        • 2016-07-06
        • 1970-01-01
        • 1970-01-01
        • 2013-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多