java io基础(java.io)

首先流分为输入和输出流,java分为字节流和字符流

  1.字节输入流io.InputStream

    io.InputStream是一个抽象类它实现了Closeable接口的抽象类。那么它的子类(io包下)有ByteArrayInputStream,FileInputStream,FilterInputStream,PipedInputStream

      ByteArrayInputStream是一个字节数组作为缓冲区。

      FileInputStream主要用于文件,参见File类可以发现File对象不仅仅是某个文件,也可以是某个路径。

      FilterInputStream 的作用是用来“封装其它的输入流,并为它们提供额外的功能”。它的常用的子类有BufferedInputStream和DataInputStream.那么这里的BufferedInputStream

      的作用就是为“输入流提供缓冲功能,以及mark()和reset()功能”。

      PipedInputStream主要用于多线程中的多条管道的切换。

  2.字节输出流io.OutputStream同上

  3.字符输入流io.Reader

  4.字符输出流io.Writer

 

那么字符和字节流是否可以相互转化,答案是可以的。

InputStreamReader&OutputStreamWriter

时间: 2024-08-08 04:01:59

java io基础(java.io)的相关文章

[ Java学习基础 ] Java构造函数

构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用. Java构造方法的特点如下: 构造方法名必须与类名相同. 构造方法没有任何返回值,包括void. 构造方法只能与new运算符结合使用. 示例代码如下: 1 //Rectangle.java文件 2 package com.a51work6; 3 4 // 矩形类 5 public class Rectangle { 6 7 // 矩形宽度 8 int width; 9 // 矩形高度 10 int hei

[ Java学习基础 ] Java的封装性与访问控制

Java面向对象的封装性是通过对成员变量和方法进行访问控制实现的,访问控制分为4个等级:私有.默认.保护和公有,具体规则如下表: 1.私有级别 私有级别的关键字是private,私有级别的成员变量和方法只能在其所在类的内部自由使用,在其他的类中则不允许直接访问.私有级别限制性最高.示例代码如下: 1 // PrivateClass.java文件 2 public class PrivateClass { 3 private int x; 4 5 public PrivateClass() { 6

[ Java学习基础 ] Java对象的创建和销毁

类实例化可生成对象,实例方法就是对象方法,实例变量就是对象属性.一个对象的生命周期包括三个阶段:创建.使用和销毁. 创建对象 创建对象包括两个步骤:声明和实例化. 声明 声明对象与声明普通变量没有区别,语法格式如下: type objectName; 其中type是引用类型,即类.接口和数组.示例代码如下: String name; 该语句声明了字符串类型对象name.可以声明并不为对象分配内存空间,而只是分配一个引用. 实例化 实例化过程分为两个阶段:为对象分配内存空间和初始化对象,首先使用n

[ Java学习基础 ] Java异常处理

一.异常概述 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出 java.lang.ArithmeticException 的异常. 异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 这些异常有的是因为用

Java教程基础——Java简介

Java是SUN公司1995年推出的一门高级编程语言,是一种面向Internet的编程语言,随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言. (2009年SUN公司被Oracle公司收购) Java本是印度尼西亚爪哇岛的英文名,因盛产咖啡而闻名. SUN和JAVA的标识也正是一杯正冒着热气的咖啡. Java的特点: 面向对象--Java号称是第一个纯面向对象编程语言 简单--类似C++,容易上手:但摒弃了C++里难以理解的多继承.指针等概念 跨平台--一次编译,到处

Java容器类基础

Java容器类基础 Java实用类库提供了一套相当完善的容器类,基本类型为List,Set,Map,Queue.它们都有一些特性,例如Set对于每一个值都只保存一个对象,Map允许你将对象和对象关联起来.此外,Java容器类都可以自动调节尺寸.因此,与数组不同,你可以放置任意数量的对象到容器中而不用担心容器应该设置为多大. Java容器类有4个接口,它们分别上面提到过的List,Set,Map,Queue:在理想情况下,你编写的代码大多数情况是在和这些接口打交道,并且你唯一需要指定所要使用精确类

Java入门——(1)Java编程基础

Java入门--(1)Java编程基础 第二章 Java编程基础 JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 } 2.1关键字:赋予了特殊含义的单词. 2.2标识符:在程序中定义的一些名称. 比如:类名 a-z 0-9 _ $ 数字不可以开头,不可以使用关键字,一般首字母大写. 2.3注释:注解说明程序的文字. 作用:1.对程序进行说明. 2.调试程序. 注意:多行注释可嵌单行注释,但不能嵌套多行注释. /*多行注释*/ /**文档注释*/ //单行注释 /* 需求:写一个

day05<Java语言基础--数组>

Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java语言基础(数组的内存图解2二个数组) Java语言基础(数组的内存图解3三个引用两个数组) Java语言基础(数组的初始化静态初始化及内存图) Java语言基础(数组操作的两个常见小问题越界和空指针 Java语言基础(数组的操作1遍历) Java语言基础(数组的操作2获取最值) Java语言基础(数

java基础之IO

java基础之IO 1,字节流与字符流常用方法: public class testIO { /** * 字符输入输出流实现文件的复制(类比字节操作) * @throws IOException * */ @Test public void testWriterReaderFileCopy() throws IOException{ Reader read = new FileReader("cyq1.txt"); Writer write = new FileWriter("