文章标题 Java中io流的一些简单操作(包含文件复制,向硬盘中写入文本文件,以及io流高级应用序列化和反序列化)
2017-10-30 17:17
856 查看
package cn.io.demo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import org.junit.Test;
import cn.io.entity.Student;
public class FileIo {
//字节输出流 写文件 @Test public void testIO1() throws Exception{ FileOutputStream fos = null; try { fos = new FileOutputStream("F:/words.txt"); //强烈推荐这种写法 ,因为此写法兼容性更好 //像F:\\words他只是在windows支持 在Linux就不识别了 要注意! String s = "既然选择了远方,便只顾风雨兼程...!"; byte[] b = new byte[1024]; b = s.getBytes(); int length = 0; fos.write(b); System.out.println("写入成功!"); } catch (Exception e) { e.printStackTrace(); }finally{ fos.flush(); fos.close(); } } //字节输入流 FileInputStream读取文件 @Test public void testIO2() throws Exception{ FileInputStream fis = null; try { fis = new FileInputStream("F:/words.txt"); byte[] b = new byte[1024];//1024kb int length = fis.read(b); StringBuffer stb = new StringBuffer(); while (length>0){ fis.read(b); //临时中转站 先将读取的数据保存到byte类型的数组中 stb.append(new String(b)); length = fis.read(b); } System.out.println(stb.toString()); } catch (Exception e) { e.printStackTrace(); }finally{ fis.close(); } } //序列化 @Test public void testSerializable() throws Exception{ ObjectOutputStream os = null; try {//注意:要想一个类能够序列化,那个类必须实现Serializable接口 os = new ObjectOutputStream(new FileOutputStream("F:/student.txt")); Student stu = new Student(); stu.setName("张三"); stu.setAge(19); os.writeObject(stu); System.out.println("student序列化成功!");//会出现乱码 很正常 因为写入的是二进制字节码文本 }catch (Exception e) { e.printStackTrace(); }finally{ os.close(); } } //反序列化 @Test public void testSerializable2() throws Exception{ ObjectInputStream ois = null; ois = new ObjectInputStream(new FileInputStream("F:/student.txt")); Student stu = (Student)ois.readObject();//因为该方法返回的是一个object对象,所有必须进行强制类型转换 System.out.println("姓名:"+stu.getName()+"\t年龄:"+stu.getAge()); ois.close(); }
}
相关文章推荐
- java中最简单的文件复制,读写(IO流操作)
- java中File文件的创建,删除,复制,移动,以及目录文件的删除等等,主要是文件及文件夹的操作
- java IO文件操作简单基础入门例子,IO流其实没那么难
- C#中检测某个类(方法、程序集等各种部分)是否应用了指定的特性以及对特性的一些简单操作
- 关于java Io流的操作,复制(多个文件)、删除、剪切、下载网络资源
- JAVA基础 day23 IO流的其他类 (对象的序列化 管道流 RandomAccessFile类(随机读取文件) DateStream(操作基本数据类型的流) 操作数组的流 )字符编码问题
- 安卓、java常用文件操作(复制,读取,写入,转换等)
- java基础—IO流——将一些字符写入到指定硬盘上的目录中去:
- java 的 文件、文件夹 的建立、删除、复制以及移动等功能 操作
- java file to inputstream以及New Document From InputStream读取和写入文件操作实例代码
- 序列化反序列化对象XML文件写入Sample[简单但是有代表性]
- Java在硬盘上创建一个文件并写入一些文字数据FileWriter
- [Python进阶-7]文件和目录的IO操作,以及json序列化和反序列化
- Java基础之IO流,通过字节流对媒体文件进行复制操作
- Java_IO流_按行读取文本文件的内容并按行写入到另一文件
- java IO文件操作简单基础入门例子,IO流其实没那么难
- 【Java高级应用】对象序列化和反序列化
- c#解决Nullable类型的转换 (包含DataContract的序列化和反序列化以及 该例子应用在反射属性setvalue的时候有用)
- Java 文件简单复制操作