简体   繁体   English

java.util.NoSuchElementException:null(在java.util.StringTokenizer中)

[英]java.util.NoSuchElementException:null(in java.util.StringTokenizer)

I am trying to read data from a Serialized file but it gives me an error 我正在尝试从序列化文件中读取数据,但它给我一个错误

java.util.NoSuchElementException:null(in java.util.StringTokenizer)

Could you please assist me? 你能帮我吗?

import java.io.*; 
import java.util.*;
public class SerialFile {

    public static void main(String[]args)
    {


        String  name=" ";
        int  studNumber=0;
        int loanAmount=0;
        String degree=" ";


        try
        {
            ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("student.ser"));  

            out.writeObject("Jon Smith#123456#12000");
            out.writeObject("Mary Jones#023456#10000#BSc");
            out.writeObject("Sam Snead#654321#15000");
            out.writeObject("Tommy Adams#723456#10000#BCom");  
            out.close();

            ObjectInputStream in=new ObjectInputStream(new FileInputStream("student.ser"));

            while(true)
            {
                String  stud=(String)in.readObject();
                StringTokenizer token=new StringTokenizer(stud,"#");

                name=token.nextToken();
                studNumber=Integer.parseInt(token.nextToken());
                loanAmount=Integer.parseInt(token.nextToken());
                degree=token.nextToken();

                System.out.println(name+studNumber+loanAmount+degree);
            }


        }
        catch(IOException ioe)
        {
            System.out.println("Exception: "+ioe.getMessage());
        }

        catch(ClassNotFoundException cnfe)
        {
            System.out.println("Exception: "+cnfe.getMessage());
        }

    }
}
if(token.hasMoreTokens())
    degree=token.nextToken();

Jon Smith#123456#12000 doesnt has degree. 乔恩·史密斯#123456#12000没有学位。 So exception occurred . 所以发生了异常。 Please check hasMoreTokens() before getting degree 在获得学位之前,请检查hasMoreTokens()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM