流是一个很形象的概念,当程序需要读取数据时就会开启一个通向数据源的数据流,这个数据源可以是文件,内存或者是网络连接。类似的,当程序需要写入文件时,就会开启一个通向目的地的流。这里的数据源和目的地都可以通过File类中构造函数的参数进行赋值。
Java流的分类
按流向分:
输入流: 程序可以从中读取数据的流。
输出流: 程序能向其中写入数据的流。
按数据传输单位分:
字节流: 以字节为单位传输数据的流
字符流: 以字符为单位传输数据的流
按功能分:
节点流: 用于直接操作目标设备的流
过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。
JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。
InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
OutputStream:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。
此文简单实现了Java I/O中的对File(文件的处理),File类是独立于系统平台的,利用其构造函数创建出相应的File对象;再调用其中的方法实现对文件各个属性方面的操作。
构造函数:
File( String path)
File(String path, String FileName)
File(File dir, String name)
File 类提供了一种与机器无关的方式来描述一个文件对象的属性,通过类File所提供的方法可以得到文件或目录的描述信息,这主要包括名称、所在路经、可读性、可写性、文件的长度等,还可以生成新的目录、改变文件名、删除文件、列出一个目录中的所有文件的操作。
以下是对文件进行读出和写入的简单实现:
package com.czj_IO; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class TestIO { /** * 读文件的方法 * @param fName文件绝对路径 */ public void readFile(String fName){ try { FileInputStream fis = new FileInputStream(fName); int n=fis.read();//读取下一个字节 //循环读写 while(n!=-1){ System.out.println("读到的字节是"+n); n = fis.read(); } fis.close();//关闭输入流 } catch (Exception e) { e.printStackTrace(); } } /** * 写文件的方法 * @param msg写入的内容 * @param s文件绝对路径 * @throws Exception抛出异常 */ public void writeFile(String msg,String s) throws Exception{ try { FileOutputStream fos = new FileOutputStream(s,false); byte[] b = msg.getBytes();//得到组成字符串的字节 fos.write(b); fos.close();//关闭输出流 } catch (FileNotFoundException e) { e.printStackTrace(); } } public static void main(String[] args) { TestIO tjm = new TestIO(); tjm.readFile("E://类与对象总结.txt"); try {//此语句运行两次必须改写入文件的文件名或删除上次写入的文件,否则报错(已有该文件) tjm.writeFile("hello! 你好!~~~~", "E://写入的文件1.txt"); } catch (Exception e) { e.printStackTrace(); } } }
梣梓cenzi
2015-05-04
相关推荐
本文档对 Java 中的输入输出流和文件读写进行了详细的介绍,涵盖了 I/O 类的体系结构、字节流和字符流、InputStream 类的方法等内容,为程序员提供了深入了解 Java 中的输入输出流和文件读写的基础知识。
Java 输入输出流(I/O 流)是Java平台的核心特性之一,用于处理数据的传输,包括文件读写、网络通信等。在Java API中,I/O流被组织为一系列类和接口,主要位于`java.io`包。在JDK 1.0中引入了字节流(byte stream)...
在Java中,输入输出流是进行文件读写操作的基础,通过理解和掌握`java.io`包中的类体系结构,开发者可以更加灵活地处理各种文件操作。无论是简单的文件读写还是复杂的网络通信,都能够基于这些基础构建出高效的应用...
Java 中的输入输出流(Input/Output Stream)是一种基本的IO机制,用于在程序中进行数据的输入和输出。文件操作是Java编程中常用的技术之一,用于读写文件、存储数据和实现数据的持久化。下面将对Java中的输入输出流...
Java中的输入输出流是程序与外部数据交互的重要方式,它允许我们读取和写入数据到各种来源,如键盘、文件、网络等。在Java中,输入输出流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。本次实验...
### Java输入输出流与文件处理 #### 重要概念与基础知识 **输入输出流与文件处理**在编程领域占据着核心地位,特别是在Java中,通过`java.io`包提供了丰富的类和接口来支持输入输出操作。这包括从键盘读取用户输入...
Java中的输入输出流是Java I/O(Input/Output)系统的核心组成部分,允许程序与外部数据源进行交互。在Java中,所有的I/O操作都基于流的概念,流是数据的序列,可以是字节流或字符流。Java I/O库提供了一系列的类来...
Java输入输出流是Java编程中一个非常重要的概念,主要用于数据的读取和写入操作,包括文本文件和二进制文件。在实验9中,主要目的是理解和掌握I/O流的分类,以及如何进行文本和二进制文件的读写。 I/O流在Java中被...
Java 文件的输入输出流实例详解是指在 Java 中对文件的输入输出操作的详细介绍。输入输出流是一个通道,程序可以通过这个通道读取源中的数据或将数据传送到目的地。 概念部分: 输入输出流提供了一条通道,程序...
Java输入输出流是Java编程中不可或缺的部分,它用于应用程序与外部设备之间进行数据交换,比如磁盘、网络、键盘和显示器。I/O流是Java中处理输入和输出的基础框架,它提供了一种抽象的方式来处理不同类型的输入源和...
### Java中的标准输入输出流知识点详解 #### 一、Java标准I/O介绍 Java提供了丰富的I/O处理机制,包括标准输入输出流、字节流、字符流等多种方式来处理数据的读取和写入。标准输入输出流是Java中非常基础且重要的...
Java输入输出流(IO流)是Java编程语言中处理数据传输的核心部分,它允许程序进行数据的读取和写入操作。在Java中,一切皆为流,输入流用于读取数据,而输出流用于写入数据。这些流可以处理各种类型的数据,包括文本...
Java 输入/输出流是Java程序进行数据传输的关键机制,它允许程序从源(如键盘、文件)接收数据或将数据发送到目的地(如显示器、文件)。Java中的I/O流分为四类:字节流(Byte Streams)和字符流(Character Streams...
### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行...通过这些基本的示例,开发者可以更好地理解Java流的工作原理,并能够根据具体需求选择合适的流类型进行文件读写操作。
Java输入输出流是Java编程语言中的核心概念,用于在程序之间、程序与系统资源之间传输数据。这个主题包括了从磁盘、网络、内存到控制台等不同源和目标的数据读写操作。在这个Java作业中,你将深入理解并实践这一关键...
Java的输入输出流(Input/Output Stream)是Java.io包...总的来说,理解并熟练运用Java的输入输出流是Java开发中不可或缺的一部分,它能帮助我们有效地读取、写入和传输各种类型的数据,从而实现程序与外部世界的交互。
Java文件输入输出流是Java I/O(Input/Output)体系中的基础部分,它允许程序员读取和写入文件。在Java中,一切皆为对象,所以对于文件的读写操作,我们也是通过对象来实现的。Java的I/O流分为两大类:字节流和字符...
创建文件可以使用File.createNewFile()方法,获取文件属性可以使用File类中的方法,例如getAbsolutePath()、getName()、getPath()等,文件的读写操作可以使用输入输出流来完成。 Java中的输入输出流有多种类型,...
这个简单的例子展示了Java输入输出流的基本用法,实际应用中,我们可以根据需求选择不同的流类型和操作方式,例如处理网络数据传输、内存缓冲、压缩解压等复杂场景。理解并熟练掌握Java的输入输出流,对于进行任何...