python的io 与java的io流的使用及对象的序列化
2017-10-08 10:51
866 查看
io的使用 采用流技术: 字节 inputStream/outputStream 字符 reader/writer
首先介绍的是java的io的使用方法 在下面的案例中d:/demo这些是你本地的路径,需要你自己去创建的
public class Testio {public static void main(String[] args) {//输入输出选择字符try {// InputStream in =new FileInputStream("D:/demo/a/1.jpg");//池塘// OutputStream out=new FileOutputStream("D:/demo/b/1.jpg");//新池塘//// byte[] buffer=new byte[1024];// int len=0;//// //泵// while(true){// len=in.read(buffer);//管道// if(len==-1){// break;// }// out.write(buffer,0,len);// out.flush();// }// out.close();// in.close();// System.out.println("ok");//字节流的读写BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream("D:/demo/a/介绍.txt"),"gbk"));PrintWriter out=new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:/demo/b/介绍.txt"),"utf-8"));String str=null;while (true){str=in.readLine();if(str==null){break;}out.println(str);out.flush();}out.close();in.close();System.out.println("ok");} catch (Exception e) {e.printStackTrace();}}}各个方法的使用可以参照他的api 这个简单的案例就把各个io的使用整合到了一起
f=open("D:/demo/a/介绍.txt")of=open("D:/demo/b/介绍p.txt","w")for line in f:of.write(line)print("ok")# 用默认的缓冲区t=open("D:/demo/a/1.jpg","rb")t1=open("D:/demo/b/123.jpg","wb")for tu in t:t1.write(tu)print("ok")#自定义的缓冲区t=open("D:/demo/a/1.jpg","rb")t1=open("D:/demo/b/1234.jpg","wb")t.seek(0,2);#文件定位# tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。# seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。# 如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。size=t.tell();t.seek(0,0)ofsize=0;n=0;while True:if ofsize>size:break;b=t.read(10240)t1.write(b)ofsize+=10240;n+=1;print(n)#截取的一半t=open("D:/demo/a/1.jpg","rb")t1=open("D:/demo/b/1234.jpg","wb")t.seek(0,2);size=t.tell();t.seek(0,0)ofsize=size/3;n=0;while True:if ofsize>size:break;b=t.read(10240)t1.write(b)ofsize+=10240;n+=1;print(n)#对象的序列华import pickleclass Person:def __init__(self,name=None,age=None):self.name=name;self.age=age;def __str__(self):return "卡吉瑟的卡号大 啊撒旦"#序列化对象,把对象保存到本地p=Person()pickle._dump(p,open("D:/demo/b/Person.data","wb"))print(p)#把 本地的对象取出来p1=pickle.load(open("D:/demo/b/Person.data","rb"))print(p1)#把文件夹中的文件放到另一个里面#方法一:import shutilold="D:/demo/a"new=old[len(old)-1:]new1="D:/demo/b/"new1=new1+newshutil.copytree(old, new1)
在上述的案例中每一个案例中都有相对应的解释大家可以参照去理解
相关文章推荐
- Java IO流与对象IO序列化
- JAVA序列化在IO中读写对象的使用
- Python中使用pickle对内建类型(built in types)进行对象序列化(object serialization and deseirialzation)
- JavaIO 6—对象的序列化
- Java对象序列化使用基础
- java IO之对象的序列化和反序列化
- Java的对象序列化以及文件IO处理
- [零散篇]Java学习笔记---Java的对象序列化以及文件IO处理
- 黑马程序员_Java基础_IO流(对象序列化和字符编码)
- 【JAVA IO】_对象序列化笔记
- 18天Java学习---Java的对象序列化以及文件IO处理
- 使用cPickle来序列化、持久化 python对象
- java.io 流的几个对象以及方法属性的使用
- 理解并学会使用Java对象序列化
- Java IO _对象序列化
- java io (六) 对象序列化,反序列化 -- Serializable接口
- Java IO _对象序列化
- Java对象序列化使用基础
- java对象序列化java.io.Serializable 接口实践
- 使用XStream对Java对象进行序列化和反序列化