`
心雨心
  • 浏览: 351566 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java字节流(读写文件)

阅读更多

InputStream
此抽象类是表示字节输入流的所有类的超类。需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法。

int available()
返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数。
void close()
关闭此输入流并释放与该流关联的所有系统资源。
void mark(int readlimit)
在此输入流中标记当前的位置。
boolean markSupported()
测试此输入流是否支持 mark 和 reset 方法。
abstract int read()
从输入流读取下一个数据字节。
int read(byte[] b)
从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len)
将输入流中最多 len 个数据字节读入字节数组。
void reset()
将此流重新定位到对此输入流最后调用 mark 方法时的位置。
long skip(long n)
跳过和放弃此输入流中的 n 个数据字节。
OutputStream
此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。需要定义OutputStream 子类的应用程序必须始终提供至少一种可写入一个输出字节的方法。

void close()
关闭此输出流并释放与此流有关的所有系统资源。
void flush()
刷新此输出流并强制写出所有缓冲的输出字节。
void write(byte[] b)
将 b.length 个字节从指定的字节数组写入此输出流。
void write(byte[] b, int off, int len)
将指定字节数组中从偏移量 off 开始的 len 个字节写入此输出流。
abstract void write(int b)
将指定的字节写入此输出流。
进行I/O操作时可能会产生I/O例外,属于非运行时例外,应该在程序中处理。如:FileNotFoundException, EOFException, IOException等等,下面具体说明操作JAVA字节流的方法。

读文件:
本例以FileInputStream的read(buffer)方法,每次从源程序文件OpenFile.java中读取512个字节,存储在缓冲区buffer中,再将以buffer中的值构造的字符串new String(buffer)显示在屏幕上。程序如下(本例程序放在包biz.1cn.stream里面,另外请在根目录下建立TestFile.txt文件,以便正常运行):

Java代码 复制代码
  1. package biz.1cn.stream;   
  2. import java.io.FileInputStream;   
  3. import java.io.IOException;   
  4. /**  
  5.  * @author chenrz(simon)  
  6.  * @date 2006-6-29  
  7.  *       <p>  
  8.  *       JAVA字节流例子-读文件(www.1cn.biz)  
  9.  *       </p>  
  10.  */  
  11. public class ReadFile {   
  12.     public static void main(String[] args) {   
  13.         try {   
  14.         // 创建文件输入流对象   
  15.         FileInputStream is = new FileInputStream("TestFile.txt");   
  16.         // 设定读取的字节数   
  17.         int n = 512;   
  18.         byte buffer[] = new byte[n];   
  19.         // 读取输入流   
  20.         while ((is.read(buffer, 0, n) != -1) && (n > 0)) {   
  21.             System.out.print(new String(buffer));   
  22.         }   
  23.         System.out.println();   
  24.         // 关闭输入流   
  25.         is.close();   
  26.         } catch (IOException ioe) {   
  27.         System.out.println(ioe);   
  28.         } catch (Exception e) {   
  29.         System.out.println(e);   
  30.         }   
  31.     }   
  32. }  
package biz.1cn.stream;
import java.io.FileInputStream;
import java.io.IOException;
/**
 * @author chenrz(simon)
 * @date 2006-6-29
 *       <p>
 *       JAVA字节流例子-读文件(www.1cn.biz)
 *       </p>
 */
public class ReadFile {
	public static void main(String[] args) {
	    try {
		// 创建文件输入流对象
		FileInputStream is = new FileInputStream("TestFile.txt");
		// 设定读取的字节数
		int n = 512;
		byte buffer[] = new byte[n];
		// 读取输入流
		while ((is.read(buffer, 0, n) != -1) && (n > 0)) {
		    System.out.print(new String(buffer));
		}
		System.out.println();
		// 关闭输入流
		is.close();
	    } catch (IOException ioe) {
		System.out.println(ioe);
	    } catch (Exception e) {
		System.out.println(e);
	    }
	}
}

写文件:
本例用System.in.read(buffer)从键盘输入一行字符,存储在缓冲区buffer中,再以FileOutStream的write(buffer)方法,将buffer中内容写入文件WriteFile.txt中,程序如下(本例程序放在包biz.1cn.stream里面,另外运行后会在根目录下建立WriteFile.txt文件):

Java代码 复制代码
  1. package biz.1cn.stream;   
  2. import java.io.FileOutputStream;   
  3. import java.io.IOException;   
  4. /**  
  5.  * @author chenrz(simon)  
  6.  * @date 2006-6-29  
  7.  *       <p>  
  8.  *       JAVA字节流例子-写文件(www.1cn.biz)  
  9.  *       </p>  
  10.  */  
  11. public class WriteFile {   
  12.     public static void main(String[] args) {   
  13.         try {   
  14.         System.out.print("输入要保存文件的内容:");   
  15.         int count, n = 512;   
  16.         byte buffer[] = new byte[n];   
  17.         // 读取标准输入流   
  18.         count = System.in.read(buffer);   
  19.         // 创建文件输出流对象   
  20.         FileOutputStream os = new FileOutputStream("WriteFile.txt");   
  21.         // 写入输出流   
  22.         os.write(buffer, 0, count);   
  23.         // 关闭输出流   
  24.         os.close();   
  25.         System.out.println("已保存到WriteFile.txt!");   
  26.         } catch (IOException ioe) {   
  27.         System.out.println(ioe);   
  28.         } catch (Exception e) {   
  29.         System.out.println(e);   
  30.         }   
  31.     }   
  32. }  

 

 

来源:http://ily0123456.iteye.com/blog/689568

分享到:
评论
1 楼 yuanmouren1hao 2012-08-29  
 

相关推荐

    c++,java,php,c# 的网络字节流读写文件

    c++,java,php,c# 的网络字节流读写文件,文件的所有读写方式都采用的是大端,只有php有大端和小端2种选择。

    java IO流读写

    InputStream和OutputStream 1.DataInputStream,DataOutputStream 从Stream里读取基本类型的数据 BufferedReader,BufferedWriter...2.BufferedInputStream,BufferedOutputStream 封装了从缓冲区读写指定数量数据的方法

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    该代码源码资源是一个用于讲解Java IO流的示例代码库。它包含了常见的IO类和方法的使用...通过研究这些代码示例,读者将能够了解如何使用不同类型的IO类来进行文件读写、字符流、字节流、网络传输等各种常见的IO操作。

    Java流(文件读写操作)

    一、 流的分类 • 按数据流动方向 ...– 字节流:用于处理字节数据。 – 字符流:用于处理Unicode字符数据。 • 按照流所处理的源 – 节点流:从/向一个特定的IO设备读/写数据的流。(低级流) – 处理

    JAVA IO流文件读写大全下载

    JAVA IO流文件读写,字节流字符流的转换、读取、存盘,不乱码操作,文件移动读取操作,使用了多种流机制

    java IO流总结.md

    对于非文本文件(.jpg,.mp3,.mp4,.avi,.doc,.ppt,...),使用字节流处理 2.数据的流向:输入流、输出流 3.流的角色:节点流、处理流 节点流:直接从数据源或目的地读写数据 处理流:不直接连接到数据源或...

    Java文件读写操作函数实现

    * 通常,Reader 所作的每个读取请求都会导致对底层字符或字节流进行相应的读取请求。因此,建议用 BufferedReader包装所有其 read() * 操作可能开销很高的 Reader(如 FileReader和 InputStreamReader)。 * ...

    java IO流学习笔记——(1)文件字节流

    java IO流学习笔记——(1) IO流总述 • 输入流:数据源到程序(InputStream、Reader读进来) • 输出流:程序到目的地(OutputStream、Writer写出去) 流分类 : • 节点流:可以直接从数据源或目的地读写数据 • 处理...

    java IO流学习笔记——(2)文件字符流&字节数组流

    部分方法同文件字节流(read(),write()) 其他方法: FileWriter:append()写入 name.append(“你好”); name.append(“你好,”).append(“朋友”); 文件字符输入流练习 package Io; import java.io.File; import java....

    java 文件读写功能

    以字节为单位读取文件、以字符为单位读取文件、以行为单位读取文件、随机读取文件内容、显示输入流中还剩的字节数、追加文件 FileInputStream、AppendToFile、 RandomAccessFile 、InputStreamReader

    JAVA 流 的ppt课件

    关于流的PPT课件理解流的概念及分类 掌握常用流的体系结构 运用字节流读写文本文件 运用字符流读写文本文件 使用文件类操作文件及目录

    Java IO流的很简单的介绍

    根据数据流方向分为输入流和输出流,根据功能分为字节流和处理流,节点流直接从文件中读取或写入字节流,处理流对已存在的流(节点流和处理流)通过对数据的处理为程序提供更强大的读写功能,涉及到过滤流,能提高...

    Java之IO流学习总结

    读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。 处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。 结论:...

    Java IO(输入输出).pptx

    掌握字节流和字符流读写文件的操作 熟悉如何使用File类访问文件系统 了解字节流和字符流的概念,输入输出概念。

    Java中多种写文件方式的效率对比实验(图)

     近在考虑一个问题:“如果快速地向文件中写入数据”,java提供了多种文件写入的方式,效率上各有异同,基本上可以分为如下三大类:字节流输出、字符流输出、内存文件映射输出。前两种又可以分为带buffer及不带...

    Java的File类文件读写以及图片下载的总结

    File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流、字节流、处理流) 5.以图片地址下载图片

    JAVA上百实例源码以及开源项目

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

    java中的标准输入输出流

    本文档涵盖了java中标准输入输出流,包含InputStream、OutputStream字节流还有字符流以及对文件的读写操作等

    java源码包---java 源码 大量 实例

    Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用RSA加密技术,...

Global site tag (gtag.js) - Google Analytics