读者可订阅专栏:Java开发指南 |【CSDN@秋说】
Java流
Java 中的流(Stream)是 Java 8 引入的用于处理数据集合的一种新方式。它是一种声明式编程风格,可以帮助我们处理集合、数组等数据结构,而无需明确地编写迭代或操作步骤。流提供了许多功能,包括过滤、映射、规约、分组等,可以大大简化代码,使其更易读且易于并行化。
Java流之控制台
读取控制台输入-字符
在 Java 中,控制台输入通常由 System.in
实现。要从控制台读取输入,我们需要将 System.in
包装在一个 BufferedReader
对象中,以便创建一个字符流。
创建 BufferedReader
的基本语法如下:
CodeBufferedReader br = new BufferedReader(new InputStreamReader(System.in));
一旦创建了 BufferedReader
对象,我们就可以使用 read()
方法来从控制台读取一个字符,或者使用 readLine()
方法来读取一个字符串。
Codeint read() throws IOException
每次调用 read()
方法,它都会从输入流中读取一个字符,并将该字符作为整数值返回。当流结束时,返回 -1。该方法可能会抛出 IOException
异常。
示例如下:
import java.io.*;
public class Ice {
public static void main(String args[]) {
char c;
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
try {
do {
c = (char) a.read();
System.out.println(c);
} while (c != 'I');
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 关闭输入流
a.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//用 read() 方法从控制台不断读取字符直到用户输入I
那么,如果我们想要读取字符串呢?
读取控制台输入-字符串
从标准输入读取一个字符串需要使用 BufferedReader 的 readLine() 方法。
语法格式:
String readLine( ) throws IOException
示例如下:
import java.io.*;
public class Ice {
public static void main(String args[]) {
String c;
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
try {
do {
c=a.readLine();
System.out.println(c);
} while (!c.equals("end"));
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
// 关闭输入流
a.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//读取和显示字符行直到输入的字符串为end
实现控制台输出-字符
Java 中控制台输出有两种常用的方法:println
和 write
。
1、println
方法会输出指定的内容,并在最后添加换行符,使得下一个输出从新的一行开始。
2、write
方法用于将单个字符写入输出流,它不会自动添加换行符,所以需要手动添加换行符或者在下一次输出之前加上 println
方法来换行。
import java.io.*;
public class Ice {
public static void main(String args[]) {
char c='#';
System.out.println(c);
System.out.write(c);
System.out.write('\n');
}
}
实现控制台输出-字符串
要输出字符串,仍然可以使用 System.out.println()
方法。
public class Ice {
public static void main(String args[]) {
String c="I am a writer.";
System.out.println(c);
}
}
实现控制台输入输出
将上面的方法结合,即可实现控制台输入输出。示例如下:
import java.io.*;
public class Ice {
public static void main(String args[]) {
String c=null;
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
try
{
c=a.readLine();
}catch(IOException e)
{
e.printStackTrace();
}
System.out.println(c);
}
}
注意:print
方法不会在输出内容之后自动换行,如果需要输出下一个内容,会继续在同一行输出。
println
方法与 print
方法类似,也是将指定内容输出到控制台,但在输出内容之后会自动换行。