Java中的.readline()方法是java.io.InputStream类的一部分,通常用于从标准输入(通常是键盘)读取一行文本。这个方法在处理用户输入时非常有用,尤其是在命令行界面应用程序中。...
Java中的.readline()方法是java.io.InputStream类的一部分,通常用于从标准输入(通常是键盘)读取一行文本。这个方法在处理用户输入时非常有用,尤其是在命令行界面应用程序中。以下是一些关于如何使用.readline()的实用技巧,帮助你更高效地处理输入问题。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadLineExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { System.out.println("请输入一行文本:"); String line = reader.readLine(); System.out.println("你输入的是:" + line); } catch (IOException e) { e.printStackTrace(); } }
}在使用.readline()时,可能会遇到IOException。因此,通常需要将BufferedReader包装在try-with-resources语句中,以确保资源被正确关闭。
有时候,你可能需要读取特定格式的输入,例如整数或浮点数。以下是一个读取整数的例子:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadIntegerExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { System.out.println("请输入一个整数:"); String line = reader.readLine(); int number = Integer.parseInt(line); System.out.println("你输入的整数是:" + number); } catch (IOException e) { e.printStackTrace(); } catch (NumberFormatException e) { System.out.println("输入的不是有效的整数。"); } }
}如果你希望限制用户输入的长度,可以使用readLine()的重载版本,该版本接受一个整数参数,表示最大字符数。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadLimitedInputExample { public static void main(String[] args) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { System.out.println("请输入不超过10个字符的文本:"); String line = reader.readLine(10); System.out.println("你输入的是:" + line); } catch (IOException e) { e.printStackTrace(); } }
}在处理敏感信息时,你可能不希望用户在屏幕上看到他们输入的字符。在这种情况下,可以使用Console类的readPassword()方法。
import java.io.IOException;
import java.io.Console;
public class ReadPasswordExample { public static void main(String[] args) { Console console = System.console(); if (console == null) { System.out.println("无法访问控制台输入。"); return; } char[] password = console.readPassword("请输入密码:"); String passwordString = new String(password); System.out.println("你输入的密码是:" + passwordString); }
}.readline()方法会阻塞程序执行,直到用户输入并按下回车键。IOException。NumberFormatException。通过掌握这些技巧,你可以更有效地使用Java的.readline()方法来处理各种输入问题。