IO基础学习总结
1.InputStream是一个抽象类,它有多种具体的实现类
1.FileInputStream文件输入流
2.AudioInputStream音频输入流
3.ByteArrayInputStream
4.FilterInputStream过滤输入流
5.ObjectInputStream对象输入流
6.PipedInputStream管道输入流
7.SequenceInputStream
8.StringBufferInputStream
2.FileInputStream
1.FileInputStream 是InputStream的一个直接子类,可用于构造从文件中读到数据的流。
2.常用构造器:
1.FileInputStream(File file):通过一个文件对象作为参数构造输入流对象
2.FileInputStream(String path):通过一个文件路径字符串构造连接到指定文件的输入流
示例:
String str1 = "D:\\My Documents\\Test1.txt";
String str2 = "D:\\My Documents\\Test2.txt";
java.io.FileInputStream fis = new java.io.FileInputStream(str1);//用文件路径名字符串作为参数创建文件输入流
//创建文件对象
java.io.File file = new java.io.File(str2);
java.io.FileInputStream fos = new java.io.FileInputStream(file);//用文件对象作为参数创建文件输入流对象
3.方法使用示例
public class IOTest {
/**
* FileInputStream类中方法的测试
*
* @param args
*/
public static void main(String[] args) {
// 取得系统的路径分隔符
String s = java.io.File.separator;
// 文件路径名字符串
String path = "D:" + s + "My Documents" + s + "StudySample" + s + "src"
+ s + "cn" + s + "xmh" + s + "IOstudy0406" + s + "testtext";
// 创建文件对象
java.io.File file = new java.io.File(path);
try {
// 定义一个字节数组
byte[] b1 = new byte[(int) file.length()];
// 用文件对象作为参数创建文件输入流对象
java.io.FileInputStream fis = new java.io.FileInputStream(file);
// available()-->返回可以从该输入流中读取的字节数
int available = fis.available();
System.out.println("首次检测输入流中可读字节数" + available);
// read()-->从输入流中读取一个字节,返回值为int类型
// skip(long n)-->从输入流中跳过并丢弃 n 个字节的数据
long l = fis.skip(100);
System.out.println("实际跳过输入流中的字节数" + l);
available = fis.available();
System.out.println("此时输入流中可读字节数" + available);
// read(byte[] b)-->从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
fis.read(b1);
// 输出字节数组所表示的字符串
print(b1);
byte[] b2 = new byte[fis.available()];
/**
* public int read(byte[] b,int off,int len) 从此输入流中将最多 len
* 个字节的数据读入一个 byte 数组中。
*
* @param b
* - 存储读取数据的缓冲区。
* @param off
* - 目标数组 b 中的起始偏移量。
* @param len
* - 读取的最大字节数。
*/
// fis.read(b2, 7, 5);
// print(b2);
// 关闭输入流
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
// 输出字节数组所表示的字符串的方法
public static void print(byte[] b) {
String str = new String(b);
System.out.println(str);
}
}
分享到:
相关推荐
这篇博客“Java学习之IO总结及mina和netty”探讨了Java IO的基础知识,并深入到两个高级网络通信框架——Mina和Netty。Mina和Netty都是基于NIO(非阻塞IO)的高性能网络应用框架,它们简化了复杂网络编程的实现。 *...
总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...
### Java基础学习总结 #### 一、Java基础知识 Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。它具有平台独立性、安全性高、面向对象等特点,适用于开发各种应用程序。 ##### 1. IO流 IO流...
Java学习流程可以总结为四步走:构建Java开发环境、学习Java基础语法、学习面向对象编程和应用编程。 Step 1: 构建Java开发环境 要学习Java,首先需要构建Java开发环境。包括下载JDK软件开发包、配置环境变量等。...
本练习旨在帮助初学者理解和掌握Java IO流的基础知识。 一、IO流的概念 IO流在Java中分为两大类:输入流(Input Stream)和输出流(Output Stream)。输入流用于从源(如文件、网络连接等)读取数据,而输出流则...
在Java编程语言中,IO流是一种非常重要的...以上内容构成了Java IO流学习的基础知识框架,对于深入理解和应用Java中的IO流操作提供了重要的理论支撑。在实际开发中,对IO流的灵活应用和管理是保证程序高效运行的关键。
### Java IO学习基础之读写文本文件 #### 一、Java IO概述 Java IO(Input/Output)是Java中处理输入输出操作的核心包,它主要提供了文件读写、网络通信等基本功能。Java IO操作主要基于流的概念进行,分为字节流...
Java学习路线是一个逐步深入的过程,尤其对于初学者来说,一个清晰的计划至关重要。以下是对Java学习路线的详细解析: **第一阶段:Java基础** - **Java开发介绍**:理解DOS命令,掌握JVM(Java虚拟机)、JRE(Java...
这篇文档是个人的Java学习笔记总结,旨在帮助0基础的学习者从零开始掌握Java基础知识,并逐步成为专业的Java开发者。以下是笔记中涉及的一些关键知识点: 1. **Java开发环境的设置**: 要开始Java编程,首先需要...
知识主要包括:Java基础常识、如何安装Java工具、Java语言的基础组成、Java面向对象、Java多线程、Java常用类、集合(重点)、IO流、GUI图形界面、网络编程、正则表达式、反射、注解、类加载器、动态代理等等,另外...
Java IO总结 Java IO是Java中对文件的操作方式,以流的方式进行。流是Java内存中的一组有序数据序列。...流的分类和API是Java IO学习的基础,掌握这些知识点可以帮助我们更好地学习和应用Java IO。
JavaIO流学习总结 JavaIO流是Java语言中最基本的输入/输出机制,它提供了多种方式来读取和写入数据。下面是JavaIO流的学习总结。 一、 IO流的分类 IO流可以从不同的角度进行分类,包括: * 按流的方向分为:输入...
"java基础总结资料"涵盖了Java语言的核心概念,是学习和复习Java基础知识的重要资源。以下是一些主要的知识点: 1. **Java语法基础**:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制(如if语句...
以下是对Java IO的详细学习总结: ### 1. IO流概述 IO流是Java中处理输入输出的核心概念。它们可以被视为数据传输的管道,允许数据在源和目的地之间流动。Java将所有IO操作封装为流对象,分为四大类:字节流(Byte ...
在这份《Java之IO流学习总结》文档中,我们可以了解到IO流的不同使用场景和基本的编程操作。 首先,我们来认识IO流中的基本类。在Java中,所有与IO相关的类都位于java.io包中。主要的抽象基类有InputStream、...
总结一下,Java IO框架是Java平台不可或缺的一部分,它为开发者提供了丰富多样的类和接口来处理各种IO任务。通过理解字节流和字符流的区别,以及NIO的非阻塞特性和选择器机制,我们可以编写出高效、灵活的IO代码,...
Java IO流是Java平台中处理输入输出操作的核心组件,它允许程序与各种数据源(如文件、设备、网络连接)进行交互。IO流系统由多个类和接口组成,它们位于java.io包中,为开发者提供了读写数据的丰富功能。在Java中,...