I/O(输入/输出)

1.创建引用ObjectInputStream ois =null;
ObjectOutputStream oos = null;
ByteArrayInputStream bais = null;
ByteArrayOutputStream baos = null;

2.引用指向实例对象

baos = new ByteArrayOutputStream();

3.i/o输入/输出使用try{}catch(){

}最后注意:关闭输入输出流4.几个输入输出重要的方法write();read();close();flush();
/**
     * 通过序列化和反序列的方式对对象进行深度复制
     */
    public static Object deeplyCopy(Serializable source){

		if(source == null) {
			return null;
		}
    	//1.声明一个变量用来保存复制得到的目标对象
    	Object targetObject = null;
    	//2.声明四个变量用来保存四个流
    	ObjectInputStream ois =null;
    	ObjectOutputStream oos = null;
    	ByteArrayInputStream bais = null;
    	ByteArrayOutputStream baos = null;
    	//3.try...catch...finally结构
    	try{
    		//4.创建字节数组输出流
    		baos = new ByteArrayOutputStream();
    		//5.根据字节数组输出流创建对象输出流
    		oos = new ObjectOutputStream(baos);
    		//6.执行对象的序列化操作(本质:将对象序列化后得到的数据写入字节数组)
    		oos.writeObject(source);
    		//7.获取保存了序列化数据的字节数组
    		byte[] byteArray = baos.toByteArray();
    		//8.创建字节数组输入流
    		bais = new ByteArrayInputStream(byteArray);
    		//9.根据字节数组输入流创建对象输入流
    		ois = new ObjectInputStream(bais);
    		//10.执行反序列化操作
    		 targetObject = ois.readObject();
    	}catch(Exception e){
    		e.printStackTrace();
    	} finally{
    		//11.释放资源
    		if(oos != null){
    			try{
    				oos.close();
    			}catch(Exception e){
    				e.printStackTrace();
    			}
    		}
    		if(ois != null){
    			try{
    				ois.close();
    			}catch(Exception e){
    				e.printStackTrace();
    			}
    		}
    	}
    	return targetObject;
	}

  

时间: 2024-10-12 11:05:32

I/O(输入/输出)的相关文章

9、流类库与输入/输出

就像C语言一样,c++语言中也没有输入/输出语句.但c++编译系统带有一个面向对象的输入/输出软件爱你包,它就是I/O流类库. 1.I/O流的概念及流类库结构 I/O流类库是C语言中I/O函数在面向对象的程序设计方法中的一个替换产品. 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,另一个是文件对象. 流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动.程序建立一个流对象,并指定这个流对象与某个文件对象建立连接,程序操作流对象,流对象通过文件系统对

HeadFirstJava——12_序列化和文件的输入/输出

存储对象状态的方式: 1 序列化(若只有自己写的程序会用到这些数据) 创建一个文件,将被序列化的对象写入文件中,之后可在程序中到文件中读取序列化的对象并将其转换为状态: 注意:以文本文件形式阅读是无意义的: 2 写入纯文本文件中(若数据需要被其他程序引用) 创建一个文本文件,用其他程序可以解析的特殊字符写到文件中,每行写入一个对象的状态,用逗号/制表符分隔: 一.序列化 1 将序列化对象写入文件中 a 创建FileOutputStream 若MyGame.ser文件不存在,则自动被创建: 创建存

JavaScript-3.1--获取用户的输入,输出用户输入的两数之和---ShinePans

提示用户输入两个数,然后输出用户输入的两数之和 第一次输入 ,输入处为空 第二个输入,输入处为默认27  (这里强调语句的使用) <html> <head> <meta http-equiv="content-type" content="text/html;charset=GB2312"/> <title> 3.1 让用户输入两个数字,然后输出相加的结果 </title> </head> &l

2.4 基本的输入/输出操作

在C++输入/输出围绕着数据流这个概念,在数据流中,可以把数据插入输出流,或者从输入流析取数据.到屏幕上命令行的标准输出流称为cout,来自键盘的互补输入流称为cin.这两个流的名称都定义在std名称空间. 2.4.1 从键盘中输入 可以通过标准输入流cin从键盘获得输入,这时要使用流的析取运算符>>.要从键盘把两个整数值读入整型变量num1和num2,eg:std::cin >>num1 >>num2; 析取运算符>>“指向”数据流动的方向,本例中,数据是

输入 输出

字符 返回:来自输入设备的下一个字符 返回:成功返回下一个字符,出错或者达到文件结尾返回EOF 虽然函数被定义为整型数,但仅用其低八位 scanf 返回:成功返回读入项目的个数 检测到"文件结尾"时,返回EOF 行 fgets 返回:成功返回s,出错或达到文件结尾返回NULL fputs() 不为输出自动添加换行 gets()不足 它不检查余留存储区是否能够容纳实际输入数据 fgets() 指定最大读入字符数 终止位置:读出( size -1 ) 个字符或者读完一个换行符 '\n' 若

I/O(输入/输出)---字节流与字符流

流: 分为输入流和输出流,输入/输出是相对计算机内存来说的,数据输入到内存是输入流,数据从内存中输出是输出流. 流对象构造的时候会和数据源联系起来. 数据源分为:源数据源和目标数据源.输入流联系的是源数据源,输出流联系的是目标数据源. 按流向划分: 输入流:InputStream和Read 输出流:OutputStream和Write 输入流和输出流又分为字节流和字符流: 按处理数据单元划分: 字节流:InputStream和OutputStream.字节流是8位的通用字节流,基本单位是字节.

Java的输入/输出操作

Java的输入\输出机制 计算机的基本功能就是通过输入输出设备与外部其他设备尽心数据的交互,从其他设备读入数据叫做输入操作,将计算机内的数据写入到其他设备叫做输出操作.可以向计算机发送数据.又可以接受计算机数据的设备叫做输入/输出(I/O)设备,例如磁盘.网络等. Java中主要按照一种方式进行数据交换——流(Stream)的方式.流方式就好比是建立在数据交换源与目的地之间的一条通信路径.但是数据在作为流在该路径中进行传输.数据流的走向是有方向的,相对于计算机而言,传向计算机的数据流叫做输入流(

java 的输入/输出

java 的输入/输出java的 I/O是通过java.io包下的类和接口支持,其中最重要的是5个类,分别是 File,OutputStream,InputStream, Write,Reader及一个接口Serializable.File类:可以对文件进行操作字节流:(OutputStream/InputStream),可以使用字节流读取文件内容字符流:(Writer/Reader)转换流:(InputStreamReader/OutputStreamWriter)将字节流转换为字符流缓冲流:

用指针对字符串输入/输出

#include<iostream> using namespace std; int main(void) { char *s=new char[80]; cout<<"输入一个字符串: "; cin>>s; getchar(); cout<<"输入的字符串是:"; cout<<s; getchar(); delete []s; s=NULL; } s是一个字符型指针变量,通过new运算符申请一个动态数组

C/C++-标准输入/输出重定向为文件输入/输出

/* Time: 2017-02-22 11:11:15 Describe: C++程序将标准输入/输出重定向为文件输入/输出. */ #include <iostream> #include <fstream> #include <string> using namespace std; void f() { string line; while(getline(cin, line)) //input from the file in.txt { cout <&