`
snoopy7713
  • 浏览: 1148869 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

java常用类解析二:IO系统输入输出类

    博客分类:
  • java
阅读更多

InputStream的作用是用来表示那些从不同数据源产生输入的类。OutputStream决定了输出所要去往的目标

数据源 对应的类(都继承自InputStream)

(1)字节数组 ByteArrayInputStream [ByteArrayOutputStream]

(2)String对象 StringBufferInputStream(已弃用)

(3)文件 FileInputStream [FileOutputStream]

(4)“管道” PipedInputStream [PipedOutputStream]

(5)由其它种类的流组成的序列 SequenceInputStream

(6)其他数据源,如Internet


package test;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.Arrays;
/*
 * ByteArrayInputStream(ByteArrayOutputStream)表示从字节数组产生输入(输出)
 * 这个类其实就是对一个字节数组进行操作,把这个字节数组看成一个缓冲区
 * 关闭方法是一个空方法,关闭后不影响其他方法
 * 可以将数组定位到指定位置开始读/写,可以将数组从头开始读/写,可以查看数组还有几个字节可用
 * 可以在某个位置做标记,可以返回到标记位置进行读/写
 */
public class ByteArrayInputStreamDemo {
	public static void main(String[] args) {
		// 输入流缓冲区(假设已经有若干字节)
		byte[] inputBuff = new byte[] { 1, 2, 3, 'a', 'b', 'c', 'd', 'e', 'f' };
		byte[] result = new byte[20];
		ByteArrayInputStream inputStream = new ByteArrayInputStream(inputBuff);
		// 将缓冲区的字节读入result数组并输出result
		inputStream.read(result, 0, 20);
		System.out.println(Arrays.toString(result));
		// 将result数组写入输出流
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		outStream.write(result, 0, 20);
		System.out.println(Arrays.toString(outStream.toByteArray()));
	}

}
 
package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/*
 * FileInputStream从文件中产生输入流,FileOutputStream
 * 把输出流输出到文件。读/写、打开和关闭都是调用本地方法
 */
public class FileInputStreamDemo {
	public static void main(String[] args) throws IOException {
		FileInputStream inputStream = null;
		try {
			inputStream = new FileInputStream(new File("file/bb.dat"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		// 读到一个字节数组
		byte[] result = new byte[500];
		// int b;
		// while ((b = inputStream.read()) != -1)//读一个字节
		// System.out.print((char) b);
		inputStream.read(result);
		// System.out.println(Arrays.toString(result));
		inputStream.close();
		FileOutputStream outputStream = null;
		// true表示以追加的形式打开
		outputStream = new FileOutputStream("file/bb.dat", true);
		// 写入
		outputStream.write((int) 'A');
		outputStream.write(result);
		outputStream.close();
	}
}
 
  • 大小: 56 KB
分享到:
评论

相关推荐

    java常用类解析及示例及一些工具类源代码

    主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...

    java IO 类层次图

    Java IO系统提供了丰富的类来支持不同类型的输入输出操作,包括但不限于文件读写、网络通信等。本文将通过分析一张清晰明了的Java IO类层次图,详细介绍Java IO体系中的主要类及其关系。 #### 二、Java IO 类层次...

    IO/输入输出

    本文将深入探讨“IO/输入输出”这一主题,并结合标签“源码”和“工具”,来解析Java语言中的IO操作。 首先,我们要明白IO的基本原理。输入(Input)是获取数据的过程,例如键盘打字、鼠标点击或从文件读取数据;而...

    java常用的工具类整理28个

    10. **java.io.FileInputStream**和**java.io.FileOutputStream**:基本的文件输入输出流,用于读取和写入文件。 11. **java.io.FileReader**和**java.io.FileWriter**:用于读取和写入文本文件,基于字符流。 12....

    Java考试前总结(包含io输入输出流/线程/特殊for语句/文件读写的总结)

    总结来说,理解和掌握Java的I/O流可以帮助你有效地处理数据输入输出,线程管理则让你能够编写并发程序,特殊for语句简化了代码,而文件读写则是日常开发的基本技能。这些知识点的掌握程度直接影响到你在Java考试中的...

    Java IO 工具类大全

    以上就是Java IO工具类的详细介绍,理解并熟练运用这些工具,将极大提升你在处理数据输入输出时的效率和灵活性。在实际编程中,根据需求选择合适的工具类,结合Java的异常处理机制,可以编写出稳定可靠的IO程序。

    Java IO处理类的汇总

    Java IO处理类是Java平台中用于输入输出操作的核心部分,它允许程序与各种类型的输入源(如文件、网络连接)以及输出目标(如显示器、打印机)进行交互。本篇文章将全面解析Java IO处理类,包括基本概念、常用类库、...

    java io完全解析

    Java IO(输入输出)是Java语言中处理数据流的API集合,它允许Java程序进行数据的读取和写入操作。本知识点的解析将围绕Java IO的基础和高级特性进行展开,为Java初学者提供清晰的学习路径。 首先,Java IO提供了两...

    完整版 杭州电子科技大学JAVA语言程序设计 JAVA_07 IO输入输出(共30页).ppt

    Java语言中的IO输入输出是程序与外部数据交互的重要机制,主要涉及文件操作、流的概念以及相关的类和接口。本部分讲解的是杭州电子科技大学JAVA语言程序设计课程中的第七章,即"文件I/O输入/输出"。 1. **File类**...

    Java_IO完全总结

    Java IO系统是Java平台标准库中的一个重要组成部分,主要用于处理输入输出操作。Java IO系统主要包括两个包:`java.io`和`java.nio`(New IO),其中`java.io`提供了一系列基于流的I/O操作接口与实现类,而`java.nio...

    JAVA输入输出流详细解读

    ### JAVA输入输出流详细解读 #### I/O类体系与流分类 在JAVA的I/O类体系中,所有的基础IO类都被归置于`java.io`包内,而那些新实现的IO类则分布在以`java.nio`开头的一系列包中。在深入探讨前,我们先来了解`java....

    java常用工具类整理

    2. **java.io.*** 包:提供输入输出流处理,包括文件读写、网络通信、序列化等。例如,`FileInputStream`和`FileOutputStream`用于文件操作,`BufferedReader`和`PrintWriter`则用于文本数据的读写。 3. **java.nio...

    彻底明白Java的IO系统

    Java的输入/输出(Input/Output,简称I/O)系统是Java编程中不可或缺的一部分,它提供了与外部设备交互的能力,包括...通过深入学习和实践,你可以更高效地处理数据输入输出,优化程序性能,实现复杂的数据交互需求。

    IO流、Xml解析

    IO流还包括输入流(Input Stream)、输出流(Output Stream)、缓冲流(Buffered Stream)、转换流(Converter Stream)以及对象流(Object Stream)等子类,它们各自有不同的功能和应用场景。例如,FileInputStream...

    Java IO 编程集合

    Java IO编程是Java平台中处理输入输出操作的重要组成部分,它提供了丰富的类库,使得开发者能够高效地进行数据的读取、写入、流的管理和转换。在这个集合中,我们主要探讨的是Java IO在文件读写方面的实践应用。 一...

    Java项目:星际争霸游戏(java+swing+awt界面编程+IO输入输出流+socket+udp网络通信)

    本项目"星际争霸游戏"就是这样一个例子,它巧妙地融合了Java Swing和AWT库进行界面设计,利用IO输入输出流处理数据存储,以及通过Socket和UDP协议实现网络通信,从而打造了一个具备单人模式和多人合作模式的游戏平台...

    Java教程 Java常用类

    本文将深入解析Java教程中提到的部分关键类,包括`java.applet`、`java.awt`、`java.io`、`java.lang`、`java.net`以及`java.util`等包下的常用类,特别关注`java.lang.String`类及其相关操作。 #### java.applet包...

    最最常用的 100 个 Java类分享

    2. `java.io.IOException`:这是所有I/O异常的基类,用于处理输入/输出操作中的错误。 3. `java.util.List`:List接口定义了有序的集合,允许有重复元素,并提供了按索引访问的方法。 4. `java.util.HashMap`:...

Global site tag (gtag.js) - Google Analytics