本文主要是介绍Java IO 操作——个人理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据来源的操作:
File file = new File("path");
字节操作:
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
字符操作:
InputStreamReader reader = new InputStreamReader(bis);
FileInputStream input=new FileInputStream(file);BufferedInputStream bis=new BufferedInputStream(input);byte[] byteArray=new byte[1024];int tmp;StringBuilder strBuild=new StringBuilder();while((tmp=bis.read(byteArray))!=-1){strBuild.append(new String (byteArray,0,tmp,"UTF-8"));//设置字符编码 解码}System.out.println(strBuild);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));InputStreamReader reader = new InputStreamReader(bis,"UTF-8");//设置字符编码 String str = "";int ch;while ((ch = reader.read() )!= -1){str +=(char)ch;//解码}System.out.println(str);
对象操作:
序列化就是将一个对象转换成字节序列,方便存储和传输。
序列化:ObjectOutputStream.writeObject()
反序列化:ObjectInputStream.readObject()
序列化的类需要实现 Serializable 接口,它只是一个标准,没有任何方法需要实现。
transient 关键字可以使一些属性不会被序列化。
ArrayList 序列化和反序列化的实现 :ArrayList 中存储数据的数组是用 transient 修饰的,因为这个数组是动态扩展的,并不是所有的空间都被使用,因此就不需要所有的内容都被序列化。通过重写序列化和反序列化方法,使得可以只序列化数组中有内容的那部分数据。
总结:
这篇关于Java IO 操作——个人理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!