在文件中扫描

时间:2015-02-20 03:14:05

标签: java file arraylist while-loop java.util.scanner

我试图将以下句子扫描成我的Java程序作为字符串:

The cat in the hat
The cat sat on the mat
Pigs in a blanket

然后使用while循环和hasNextLine()方法将其读入列表。 我的问题是我不确定如何读取它,因为它不是指定的文本文件,我必须使用args [0]

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.ArrayList;

public class Scan {

    public static void main(String[] args) throws FileNotFoundException{

        //Opens a scanner into the file
        File file = new File( args [0] );
        try (Scanner scan = new Scanner(file))
        {
            ArrayList<String> list = new ArrayList<String>();

            while(scan.hasNextLine())
            {
                list.add(scan.nextLine());
              }
        }

}
}

2 个答案:

答案 0 :(得分:1)

如果你只是想输出列表,那么使用a for each style loop是检查你是否做得对的最快方法。

for (String val : list)
{
   System.out.println(val);
}

答案 1 :(得分:0)

我认为您应该用以下代码替换现有代码:

    ArrayList<String> list = new ArrayList<String>();

    Scanner scan = new Scanner(System.in);
    while (scan.hasNextLine()) {
        list.add(scan.nextLine());
    }

    scan.close();

使用System.in代替new File(args[0])System.in从标准输入读取(即用键盘输入的内容)。这应该适用于IDE和命令行输入。

我希望这会有所帮助。