Java中的字节输入出流和字符输入输出流

以下哪个流类属于面向字符的输入流( )

A BufferedWriter 
B FileInputStream 
C ObjectInputStream 
D InputStreamReader

解析:IO流
(1)字节输入流
        基类:InputStream
        FileInputStream、ByteArrayInputStream、PipedInputStream、BufferedInputStream、ObjectInputStream、FilterInputStream、PushbackInputStream、DataInputStream

(2)字节输出流
        基类:OutputStream
        FileOutputStream、ByteArrayOutputStream、PipedOutputStream、BufferedOutputStream、ObjectOutputStream、FilterOutputStream、PrintStream、DataOutputStream

(3)字符输入流
        基类:Reader
        FileReader、CharArrayReader、PipedReader、StringReader、BufferedReader、InputStreamReader、FilterReader、PushbackReader

(4)字符输出流
        基类:Writer
        FileWriter、CharArrayWriter、PipedWriter、StringWriter、BufferedWriter、OutputStreamWriter、FilterWriter、PrintWriter

答案:D。

时间: 2024-11-06 22:53:48

Java中的字节输入出流和字符输入输出流的相关文章

java中常见的输入输出流案例学习

字节输入流: 1.FileInputStream 用途:从文件系统中的文件获得输入字节,常用于读取图像.声音等原始字节流,读取字符流可考虑使用FileReader 详细构造函数与常用方法可参考API文档,网上已经有中文版的API了,我是个E文盲,伤不起 这里介绍一个最常见的方法: read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个 byte 数组中. ->off:b字节数组中的偏移量 小知识:数组偏移量,比如a[1,2,3,4,5]

java中取得用户输入的方法

java中取得用户输入的方法 1.采用java.util.Scanner类 采用Scannerd的next()方法读取,测试代码如下: Scanner sc=new Scanner(System.in); System.out.println("waiting inputchar:"); String n=sc.next(); System.out.println(n); 当然记得在上面引入相关包: import java.util.Scanner; 2.采用BufferedReade

c#与java中byte字节的区别及转换方法

原文:c#与java中byte字节的区别及转换方法 在java中  byte的范围在 [-128,127] 在C#中  byte的范围在 [0,255] 所以 java程序与C#程序 进行数据传输的时候 要先把java的byte数组转换成在[0,255]范围内的int型数组a[];再把a[]进行加密得到字符串str, 把字符串传到web服务上. 转换方法: int data[] = new int[bytes.length]; for(int i=0;i data[i] = bytes[i] &

java中从控制台输入多行数据 按回车键输入空行结束

这篇博文是用Windows Live Writer写的,看看效果 下面是以前写的程序:java中从控制台输入多行数据 按回车键输入空行结束 //试过几个插件,发现插入代码后都不能复制, 但是插入图片还是很方便的, 用wlw写博客好处是可以离线, 以后就用wlw写,然后发布草稿,再到CSDN插入代码后发表文章,只是写个博客要这么艰难吗!!! <pre name="code" class="java">Scanner scanner = new Scanne

关于Java中面向对象章节、IO 流中的重点基础知识。

一.面向对象的三大特征,以及作用. 答:面向对象的三大特征即,封装性.继承性.多态性. 其分别的作用为 : 封装作用:将数据封装起来,提高数据的安全性, 继承作用:提高代码的复用性,减少冗余代码. 多态性:应用程序不必对每个派生类进行方法调用,只需要对抽象基类处理即可,大大提高程序的复用性,可以提高可扩充性和可维护性. 二.多态中的向上转型 的作用以及向下转型使用的原因 答:在多态中向上转型的是作用是,父类的引用对象名指向子类的实体,也就是用一个抽象的基类去调用每一个派生子类,向下转型的原因为,

java中IO常见的IO流和file类理论总结

总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中,所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类:而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类. [首先需要明白的是:流是干什么的???(为了永久性的保存数据) 根据数据流向的不同分为输入流和输出流: 根据处理数据类型的不同分为字符流和字节流: ]

java中的字节缓冲区ByteBuffer

一.概述:字节缓冲区 类结构: java.lang.Object java.nio.Buffer java.nio.ByteBuffer 类声明: public abstract class ByteBuffer extends Buffer implements Comparable<ByteBuffer> 此类针对字节缓冲区定义了以下六类操作: 读写单个字节的绝对和相对 get 和 put 方法: 将此缓冲区的连续字节序列传输到数组中的相对批量 get 方法: 将 byte 数组或其他字节

JAVA中获取键盘输入的方法总结

Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!下面介绍三种解决方法: 方法一:从控制台接收一个字符,然后将其打印出来 import java.io.*; public static void main(String [] args) throws IOException{ System.out.print("Enter a Char:"); char i = (ch

Java中的字节和字符

最近在看Java中的IO相关知识,发现对字节和字符的理解还不够.写篇总结记录一下. 一.字节 所谓字节(Byte),是计算机数据存储的一种计量单位.一个二进制位称为比特(bit),8个比特组成一个字节,也就是说一个字节可以用于区分256个整数(0~255).由此我们可以知道,字节本是面向计算机数据存储及传输的基本单位,后续的字符也就是以字节为单位存储的,不同编码的字符占用的字节数不同. 那么在Java中,除了存储的意义外,Java还将字节Byte作为一种基本数据类型,该数据类型在内存中占用一个字