java IO流的简单介绍及应用

原创 2015年11月18日 20:48:44

    java中流的本质是数据传输,流的主要作用是为了改善程序性能并且使用方便,根据处理数据类型的不同分为:字节流和字符流。

    字节流(8bit)包含两个抽象类:InputStream(输入流)和OutputStream(输出流)。字符流(16bit)一次可读取多个字节包含:Reader(输入流)和Writer(输出流)。字节流和字符流最主要的区别是:自接力在处理输入输出时不会用到缓存,而字符流会用到缓存。

   下面是IO流的应用实例,需求是设计一个输入流的类,该类的作用为在读该文件时把文件中的大写字母转换为小写字母,把小写字母转换为大写字母。通过抽象装饰类FilterInputStream来实现一个装饰类,通过调用InputStream 类或
 其子类提供方法加上一定的逻辑判断代码可以简单地实现这个功能。例如test.txt中的aaaBBBcccDDD123,就会输出为:AAAbbbCCCddd123.

  实现类:

package lianxi_book;

import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;

/*
 *	 需求:设计一个输入流的类,该类的作用为在读该文件时把文件中的大写字母转换为小写字母,把小写字母转换为大写字母。
 * 
 * 	分析:
 * 		通过抽象装饰类FilterInputStream来实现一个装饰类,通过调用InputStream 类或
 * 		其子类提供方法加上一定的逻辑判断可以简单的实现这个功能。
 * 
 */
public class MyOwnInputStream extends FilterInputStream{
	public MyOwnInputStream(InputStream in){
		super(in);
	}
	
	public int read() throws IOException{
		int c= 0;
		if((c=super.read())!=-1){
			//把小写转换成大写
			if(Character.isLowerCase((char) c)){
				return Character.toUpperCase((char) c);
				
			}//把大写转换成小写
			else if(Character.isUpperCase((char) c)){
				return Character.toLowerCase((char) c);
			}//如果不是字母保持不变
			else{
				return c;
			}	
		}else{
			return -1;
		}
	}
}

  测试类:

package lianxi_book;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class Test {
	public static void main(String[] args) {
		int c;
		try {
			InputStream is = new MyOwnInputStream(new BufferedInputStream(new FileInputStream("test.txt")));
			while((c=is.read())>0){
				System.out.print((char) c);
			}
			is.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			//e.printStackTrace();
			System.out.println(e.getMessage());
		}
		
	}
}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java IO 简单应用

package com.hzq; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor...

黑马程序员————IO流简单应用:分隔文件、合并文件

------www.itheima.com Java培训、Android培训、iOS培训、.Net培训期待与您交流! ------- 本文主要应用javaIO中字节流,将源文件分割成每份...
  • Xsgoing
  • Xsgoing
  • 2015年10月09日 22:08
  • 281

Android 开发应用时的简单IO流使用

代码源码:http://download.csdn.net/detail/qq_33599978/9724902 一 写入 的步骤: 1. FileOutputStream 找到写入的目的地 FI...

java IO流简单总结

java IO流简单小结
  • canot
  • canot
  • 2015年12月30日 16:09
  • 1198

Java File类与简单IO流

学习心得 一、专业课 1、File //构造函数File(String pathname) File f1 =new File("c:\\abc\\1.txt"); ...

java中io流简单总结

Java流操作有关的类或接口: Java流类图结构:   流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的...
  • zy_x00
  • zy_x00
  • 2014年12月10日 19:17
  • 300

Android网络编程之JAVA IO流简单了解

网络编程主要就是跟服务器完成连接并实现数据交换,数据的交换都是IO流来实现的,在解除网络编程之前,我们有必要先了解一下IO流。 IO流:字符流和字节流1.字节流:分为输入流和输出流,输入流是一个读取的...

JAVA IO流的简单示例

import java.io.*; class Test{ public static void main(String args[]){ FileInputStream fis=null; ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java IO流的简单介绍及应用
举报原因:
原因补充:

(最多只允许输入30个字)