首页 > 解决方案 > 如何从文本文件中读取并移至下一行

问题描述

我正在制作一个程序,它将扫描文本文件以查找所有整数,然后将它们打印出来,然后移至下一行

我尝试将 if 语句转换为 while 循环以尝试改进,但我的代码运行文本文件,写出所有数字,但在运行到 java.util.NoSuchElementException 的最后失败。如果我有一个带有数字 1 2 3 55 5 的文本文件,那么它会打印出 1 2 3 5 但它每次都会在最后崩溃

import java.util.Scanner;
import java.io.*;
public class filterSort
{
    public static void main()
    {
       container(); 

    }
    public static void run()
    {


    }
    public static void container()
    {   Scanner console = new Scanner(System.in);
        int count = 0;
        int temp;
        try
        {
            System.out.print("Please enter a file name: ");
            String fileName = console.nextLine();
            Scanner file = new Scanner(new File(fileName));
            while(file.hasNextLine())
            {
                while(file.hasNextInt())

                {
                    temp = file.nextInt(); 
                    System.out.println(temp);                    
                }
                 file.next();                        
            }

        }
        catch(FileNotFoundException e)
        {
            System.out.println("File not found.");

        }




    }
}

标签: javajava.util.scanner

解决方案


下面是为我工作的程序。完成后关闭所有资源也是一种好习惯,并且类名应该是驼峰式。这都是好的做法和标准

package com.ros.employees;

import java.util.Scanner;
import java.io.*;
public class FileTest
{
    public static void main(String[] args) {
        container(); 
    }

    public static void container()
    {   Scanner console = new Scanner(System.in);
        int count = 0;
        int temp;
        try
        {
            System.out.print("Please enter a file name: ");
            String fileName = console.nextLine();
            Scanner file = new Scanner(new File(fileName));
            while(file.hasNextLine())
            {
                while(file.hasNextInt())
                {
                    temp = file.nextInt(); 
                    System.out.println(temp);                    
                }
                if(file.hasNextLine())
                     file.next();    
            }
            file.close();
            console.close();
        }
        catch(FileNotFoundException e)
        {
            System.out.println("File not found.");
        }

    }
}

推荐阅读