import java.io.*;
public class TestInput
{
public static void main(String args[])
{
String str;
InputStreamReader stdin = new InputStreamReader(System.in);//键盘输入
BufferedReader bufin = new BufferedReader(stdin);
try
{
System.out.print ( "请输入字符: ");
str = bufin.readLine();
System.out.println ( "你输入的字符为: "+str);
}
catch(IOException E)
{
System.out.println( "发生I/O错误!!! ");
}
}
}
字节流与字符流主要的区别是他们的的处理方式
字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据,它是按字节来处理的
但实际中很多的数据是文本,又提出了字符流的概念,它是按虚拟机的encode来处理,也就是要进行字符集的转化
这两个之间通过 InputStreamReader,OutputStreamWriter来关联,实际上是通过byte[]和String来关联
在实际开发中出现的汉字问题实际上都是在字符流和字节流之间转化不统一而造成的
在从字节流转化为字符流时,实际上就是byte[]转化为String时,
public String(byte bytes[], String charsetName)
有一个关键的参数字符集编码,通常我们都省略了,那系统就用操作系统的lang
而在字符流转化为字节流时,实际上是String转化为byte[]时,
byte[] String.getBytes(String charsetName)
也是一样的道理
至于java.io中还出现了许多其他的流,按主要是为了提高性能和使用方便,
如BufferedInputStream,PipedInputStream等
首先明确一个概念
InputStreamReader 和BufferedReader都是输入流
System.in 读取的是字节流
InputStreamReader读取的是字符流
BufferedReader读取的是字符串
System.in 和InputStreamReader属于低级流
BufferedReader属于高级流
通过高级流封装低级流 使我们更加方便操作
分享到:
相关推荐
除了 `Scanner` 类,我们还可以使用 `java.io.BufferedReader` 类来读取控制台输入。`BufferedReader` 通常与 `System.in` 一起使用,通过 `InputStreamReader` 封装输入流。这种方式通常在处理大量数据时效率更高,...
用户通过控制台输入指令与系统进行交互。系统需要提供友好的提示,接受用户的输入,如商品编号、数量等,并将结果显示在控制台上。管理员账号(Vname)和密码(Vegeta)用于区分普通用户和具有更高权限的管理员。 ...
8. **命令行参数**:控制台应用程序通常接受命令行参数,例如启动服务器时指定端口号。Java的`main`方法接收`String[] args`参数,可以用来解析这些参数。 通过这个项目,你可以深入学习Java语言的各个方面,并将其...
在Java编程语言中,控制台输入输出是程序与用户交互的基本方式。本文将详细讲解如何在Java中实现控制台输入和输出,并通过实例代码来帮助理解。 首先,让我们来看看控制台输出。在Java中,我们可以使用`System.out....
在Java编程中,控制台输入输出是开发人员与用户交互的基础。通过控制台,我们可以接收用户的输入并展示程序的运行结果。本主题将深入探讨Java中的控制台输入输出技术。 一、System.out.println():控制台输出 在...
测试控制台的输入,由程序接受,以测试变量的传递
除了控制台输入外,还可以通过图形用户界面(GUI)的方式接收用户输入,如使用Swing或JavaFX中的对话框组件。 **示例代码**: ```java import javax.swing.JOptionPane; public class DialogInput { public static ...
Java 对10个数进行排序,这里使用了选择法,即从后9个数开始比较,选择一个最小的与第一个数交换,依次类推,即用第二个数与后8个数进行比较,若比较出的值大于或小于刚才第9个比较出的数,则进行交换,直到最后将...
- 在用户输入选择时,系统通过`try-catch`语句捕获异常,确保只有合法输入才能被接受。 - 如果用户输入非整数,则会抛出异常并重新提示用户输入。 #### 2. 数据输入 - 使用`Scanner`类获取用户的输入,分别用于接收...
用户通过控制台输入相关信息,程序解析输入并调用此方法将账目添加到系统中。 接下来是删除账目。为了实现这一功能,我们需要提供一个方法,允许用户输入账目的唯一标识(如日期或ID),然后遍历账目列表找到匹配项...
例如,如果你在控制台输入`123`,`System.in.read()`只会读取第一个字符`1`,其ASCII值为49,所以当你打印这个值时,你会看到49。同样,如果你输入`abc`,它会读取第一个字符`a`,其ASCII值为97,因此输出97。需要...
### Java控制台通讯录实验报告知识点解析 #### 实验背景与目标 本次实验旨在通过实践操作,让参与者深入了解并掌握Java中的文件操作技术,特别是字符流和过滤流的应用,以及如何进行文件的随机读写。此外,实验还...
### Java多线程实现控制台聊天室 #### 一、项目概述 本项目采用Java语言,利用多线程技术实现了一个简单的控制台聊天室。该聊天室具备基本的客户端与服务器端交互功能,用户可以通过控制台窗口进行文字聊天交流。 ...
此外,为了在控制台上实现用户交互,我们需要使用`std::cin`来获取用户输入的算式,然后调用`calculate`函数进行计算,并通过`std::cout`打印结果。这个过程可以通过一个主循环来实现,允许用户反复进行计算,直到...
这里`scanner.nextInt()`是用于从控制台获取用户输入的整数。 3. **计算平均值**: 平均值是所有数值相加后除以数量。对于每个学生,我们需要累加所有课程的成绩,然后除以课程数量。可以使用以下代码计算平均值...
2. **输入/输出处理**:控制台交互主要通过`java.util.Scanner`类实现,该类可以从System.in获取用户输入。例如,添加学生时,用户会被提示输入学生的姓名、年龄等信息,这些信息会被`Scanner`读取并存储到相应的`...
Java 提供了多种输入输出方式,包括从控制台读取输入、从文件读取输入、从网络读取输入等。同时,Java 也提供了多种输出方式,包括输出到控制台、输出到文件、输出到网络等。 在 Java 中,输入输出操作可以通过使用...
总结,通过《Java SE控制台五子棋》项目,你可以巩固和提升Java编程基础,理解面向对象编程,学习如何处理用户输入,实现简单的游戏逻辑,以及进行单元测试。这是一个很好的实践项目,能够帮助你将理论知识转化为...
网上找了很久没找到java在线编译系统的源码就自己动手写了个 jiaolongzhi 原创 采用spring mvc ...如果要接收 控制台输入的参数 请在点运行前输入 。单击compile.jsp中的例子按钮 可以测试这个功能。
使用Java编写控制台应用程序,开发者需要熟悉Java的基础语法、IO流(用于读取控制台输入)、数据类型(如int用于表示日期的数字)以及可能的日期和时间API。 Java中处理日期和时间的类包括`java.util.Date`、`java....