字节内存操作类/字符内存操作类

package demo;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class MemoryIODemo {

	public static void main(String[] args) throws Exception {
		//System.getProperties().list(System.out);		//列出当前系统的属性
		File f=new File("D:"+File.separator+"abc.txt");
		OutputStream output1=new FileOutputStream(f);
		//ISO不适用中文,会出现乱码
		output1.write("中华人民共和国".getBytes("ISO8859-1") );
		
		//以内存为终端做IO操作,input先写内存,output读内存
		//字节内存操作类:ByteArrayOutputStream , ByteArrayInputStream
		//字符内存操作类:CharArrayWriter , CharArrayReader
		String str="abCd";
		//写入内存
		InputStream input2=new ByteArrayInputStream(str.getBytes());
		//从内存读出
		ByteArrayOutputStream output2=new ByteArrayOutputStream();
		int data=0;
		while( (data=input2.read())!=-1 ) {		//每次读一个字节,并且转为大写
			output2.write(Character.toUpperCase(data));
		}
		byte[] res=output2.toByteArray();
		System.out.println(new String(res));
		output2.close();
		input2.close();
	}

}

posted @   fighterk  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示