DataInputStream 的 readUTF() 方法如何从键盘完成?

how readUTF() method of DataInputStream finish form Keyboard?

这是我的测试:

    DataInputStream dis=new DataInputStream(System.in);
    System.out.println("Enter your name: ");
    String name=dis.readUTF();
    System.out.println("Ten vua nhap: "+name);// want to print

从键盘输入一些文本后,我想完成并打印文本,但程序仍然没有完成..我该如何处理。

你可以轻松地扫描 class

    Scanner input = new Scanner(System.in);
    System.out.println("Enter your name: ");
    String name= input.nextLine();
    System.out.println("Ten vua nhap: "+name);// want to print

how readUTF() method of DataInputStream finish form Keyboard?

您不能通过键盘使用 readUTF()。您只能在数据源使用时使用它 writeUTF(). 请参阅 Javadoc。他们共享一种独特的数据格式,据我所知,没有其他数据会产生这种格式。

使用 BufferedReader.readLine(), 并测试 null,当在控制台输入 ctrl/d 时,您将得到它(ctrl/z 对于 Unix,Linux, AIX、Solaris、HP-UX 等)。