`

java接受控制台输入

阅读更多
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属于高级流
通过高级流封装低级流 使我们更加方便操作
分享到:
评论

相关推荐

    Java从控制台接受输入字符的简单方法

    主要介绍了Java从控制台接受输入字符的简单方法,需要的朋友可以参考下

    java 使用Scanner类接收从控制台输入的数据方式

    主要介绍了java 使用Scanner类接收从控制台输入的数据方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    测试控制台输入

    测试控制台的输入,由程序接受,以测试变量的传递

    Java 选择法对10个数进行排序.rar

    Java 对10个数进行排序,这里使用了选择法,即从后9个数开始比较,选择一个最小的与第一个数交换,依次类推,即用第二个数与后8个数进行比较,若比较出的值大于或小于刚才第9个比较出的数,则进行交换,直到最后将...

    java在线编译系统源码.rar

    网上找了很久没找到java在线编译系统的源码就自己动手写了个 jiaolongzhi 原创 采用spring mvc ...如果要接收 控制台输入的参数 请在点运行前输入 。单击compile.jsp中的例子按钮 可以测试这个功能。

    Java Scanner 类.pdf

    一、什么是 Java Scanner 类?...第一步 创建从控制台输入对象 第二步 提示语句 第三步 接受控制台的变量 第四步 输出或使用 import java.util.Scanner; public class Text { public static void main

    java源码包---java 源码 大量 实例

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非...

    JAVA上百实例源码以及开源项目

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非...

    JAVA上百实例源码以及开源项目源代码

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非...

    java源码包4

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  ...

    java源码包3

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  ...

    GTestTask:简单的控制台应用程序

    请创建简单的 java 控制台应用程序,它接受带有地球上位置的 csv 文件,并为每个位置通过谷歌时区服务找到时区,然后将结果写入输出文件。 功能规范输入参数:带有位置的 csv 文件的路径。 Location 是一个逗号分隔...

    java源码包2

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称...

    java io包课件

    了解java.io包 运用File类对文件或目录的属性进行操作 理解流,理解输入/输出流的概念 运用FileInputStream类和...使用BufferedReader类从控制台接受输入 运用DataInputStream类和DataOutputStream类读写数据文件

    可能对你有用的Java笔记

    接受从控制台输入的十个整数,把它们放在一个一维数组里,并按从大到小的顺序对这十个数进行排列,并打印排好后的结果

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称...

    java socket通讯例程 多线程读写 可以同时收发不同终端的消息

    在主线程中通过控制台读取键盘输入时,会产生阻塞。故另外开启一个线程,用于接受客户端的socket消息。服务器在收到一个socket连接之后,把该socket保存到队列中,并对队列中的每个socket开启各自的读写线程。测试...

    accept方法源码java-vscode-java-debug:用于VisualStudio代码的Java调试器

    接受方法源码java Java 调试器 概述 一个轻量级的 Java 调试器,基于它扩展了 . 它允许用户使用 Visual Studio Code (VS Code) 调试 Java 代码。 以下是功能列表: 启动/附加 断点/条件断点/日志点 例外 暂停并继续 ...

Global site tag (gtag.js) - Google Analytics