如何使用扫描仪从文件读入并以不同的顺序显示

时间:2017-05-02 17:01:11

标签: java

我有一个文件,其中包含用空格分隔的数字,我可以使用扫描仪在文件中读取,并且它显示就像文件显示的那样。如何逐个垂直打印数字?

try(Scanner reader = new Scanner(file)){
            while(reader.hasNextLine()){
                String line = reader.nextLine();
                System.out.println(line);
            }

4 个答案:

答案 0 :(得分:1)

您可以对字符串使用split()操作:
How to split a string in Java

String s = 1 2 3 4;
String[] result = s.split(" "); // this will split on space

之后您只需使用for循环遍历数组并打印每个值:

for(String str : result) {
    System.out.println(str);
}

Tipp:您甚至可以限制数组的大小:string.split(" ", maxArraySize);会为您提供String[]长度maxArraySize或更短。{/ p>

答案 1 :(得分:1)

您需要将结果字符串从reader.nextLine()拆分为数组。

try(Scanner reader = new Scanner(file)){
        while(reader.hasNextLine()){
            String line = reader.nextLine();
            //split line into an array, delimited by spaces
            String[] lines = line.split(" ");
            //loop through the resulting array
            for (int i = 0 ; i < lines.length; i++){
                //print each number on a single line
                System.out.println(lines[i]);
            }
        }

答案 2 :(得分:1)

用空格将行拆分为__call__(),然后遍历数组,在新行上打印每个项目。

String[]

答案 3 :(得分:1)

您需要将String拆分为分隔符" ",然后简单地遍历这些元素。

String line = reader.nextLine();
Arrays.stream(line.split(" ")).forEach(System.out::println);