package com.jckb;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer; public class Test {
public static void main(String[] args) {
// m();
// inputStreamDemo();
// outputStreamDemo();
m8();
} // 序列输入流
static void m8() {
InputStream is = null;
ObjectInputStream ois = null;
File file = null;
try {
String pathname = "D://file6.txt";
file = new File(pathname);
is = new FileInputStream(file);
ois = new ObjectInputStream(is);
Object obj=ois.readObject();
if(obj instanceof Student){
Student stu =(Student)obj;
System.out.println(stu.toString());
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) { e.printStackTrace();
}
} // 序列输出流
static void m7() {
OutputStream out = null;
ObjectOutputStream os = null;
try {
out = new FileOutputStream("D://file6.txt");
os = new ObjectOutputStream(out);
Student stu = new Student("张三", 20);
os.writeObject(stu);
System.out.println("序列号成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
os.flush();
os.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} // 带缓冲的字符输出流
static void m6() {
Writer w = null;
BufferedWriter bw = null;
try {
w = new FileWriter("D://file5.txt");
bw = new BufferedWriter(w);
String str = "再见2016,你好2017!";
bw.write(str);
System.out.println("写入成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭流
try {
if (bw != null) {
bw.flush();
bw.close();
}
if (w != null) {
w.close();
}
} catch (IOException e) {
e.printStackTrace();
} } } // 带缓冲的字符输入流
static void m5() {
Reader in = null;
BufferedReader br = null;
try {
in = new FileReader("D://file4.txt");
br = new BufferedReader(in);
String result = null;
while ((result = br.readLine()) != null) {
System.out.println(result);
}
br.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
} // 字符输入流
static void m4() {
FileReader fr = null;
try {
fr = new FileReader("D://file4.txt");
char[] cbuf = new char[1024];
int result = -1;
while ((result = fr.read(cbuf)) != -1) {
String s = new String(cbuf, 0, result);
System.out.println("result=" + result);
System.out.println(s);
}
fr.close();
} catch (Exception e) {
e.printStackTrace();
}
} // 字符输出流
static void m3() {
FileWriter w = null;
try {
w = new FileWriter(new File("D://file4.txt"));
String str = "你好2017!";
w.write(str);
System.out.println("写入成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
w.flush();
w.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} // 缓冲流
static void m2() {
InputStream is;
BufferedInputStream bs = null;
try {
is = new FileInputStream("D:\\file3.txt");
bs = new BufferedInputStream(is);
byte[] b = new byte[24]; int result;
while ((result = bs.read(b)) != -1) {
String chunk = new String(b, 0, result);
System.out.println(chunk);
}
bs.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
} static void m() {
System.out.println(File.pathSeparator);
System.out.println(File.pathSeparatorChar);
System.out.println(File.separator);
System.out.println(File.separatorChar);
File file = new File("D:\\file2.doc");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
boolean b = file.exists();
System.out.println(b);
} // 字符流的读入
static void inputStreamDemo() {
String pathname = "D:\\file3.txt";
File file = new File(pathname);
FileInputStream in = null;
try {
in = new FileInputStream(file);
System.out.println("字节数为:" + in.available()); int data = -1;
// read() while((data=in.read())!=-1){
System.out.println((char) data); // 带缓冲区的字符流的读取read(byte[]b)
byte[] b = new byte[in.available()];
while (in.read(b) != -1) {
for (byte item : b) {
System.out.println((char) item);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} // 字符流的写出
static void outputStreamDemo() {
String pathname = "D:\\file.txt";
FileOutputStream os = null;
try {
os = new FileOutputStream(new File(pathname), true);
byte[] b = { 'a', 'b', 'c', 'v' };
os.write(b);
System.out.println("写入成功!");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package com.jckb;

import java.io.Serializable;

/**学生类包含姓名、年龄
* 如果那个属性不需要序列号,要在前面加上关键字 transient
* @author gx
*
*/ public class Student implements Serializable{ private static final long serialVersionUID = 1L;
private String name;//姓名
private int age ;//年龄 public Student(String name, int age) {
super();
this.name = name;
this.age = age;
} public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return name+"---"+age;
} }

 

Java输入输出流简单案例的更多相关文章

  1. Java输入/输出流体系

    在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...

  2. 深入理解Java输入输出流

    Java.io包的File类,File类用于目录和文件的创建.删除.遍历等操作,但不能用于文件的读写. Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流.如何理解流的概念呢?可以 ...

  3. Java 输入输出流 转载

    转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...

  4. java输入输出流总结 转载

    一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是 ...

  5. Java输入输出流(转载)

    转自http://blog.csdn.net/hguisu/article/details/7418161 目录(?)[+] 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作 ...

  6. 【java开发系列】—— java输入输出流

    前言 任何语言输入输出流都是很重要的部分,比如从一个文件读入内容,进行分析,或者输出到另一个文件等等,都需要文件流的操作.这里简单介绍下reader,wirter,inputstream,output ...

  7. Java 输入输出流 (七)

    1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...

  8. Java基础学习总结(47)——JAVA输入输出流再回忆

    一.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. Java的I/O流提供了 ...

  9. java输入/输出流的基本知识

    通过流可以读写文件,流是一组有序列的数据序列,以先进先出方式发送信息的通道. 输入/输出流抽象类有两种:InputStream/OutputStream字节输入流和Reader/Writer字符输入流 ...

随机推荐

  1. [JSOI 2018] 潜入行动

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5314 [算法] 考虑dp , 用f[i][j][0 / 1][0 / 1]表示以i为 ...

  2. [转]ECMAScript5 Object的新属性方法

    虽然说现在并不是所有的浏览器都已经支持ECMAScript5的新特性,但相比于ECMAScript4而言ECMAScript5被广大浏览器厂商广泛接受,目前主流的浏览器中只有低版本的IE不支持,其它都 ...

  3. 推荐几个Laravel 后台管理系统

    小编推荐几个Laravel 后台管理系统 由百牛信息技术bainiu.ltd整理发布于博客园 一.不容错过的Laravel后台管理扩展包 —— Voyager 简介Voyager是一个你不容错过的La ...

  4. string行读入&&文件输入

    普通读入的时候会以空格作为分隔符 直接用cin>>s读入,此时可以直接处理文件尾的情况 text代码: #include <iostream>#include <cstd ...

  5. celery和supervisor配合使用,实现supervisor管理celery进程

    在这里我选择redis作为celery异步任务的中间人,系统选择CentOS6.5 64位.redis.celery和supervisor的安装参见官方文档. 安装完毕后: 1, 创建celery的实 ...

  6. 使用CTE生成辅助表(数字或时间)等

    数字辅助表: , ;WITH Digital_Rangs(Digital) AS ( SELECT @start_digital UNION ALL FROM [Digital_Rangs] WHER ...

  7. Vue实现一个MarkDown编辑器

    Vue实现一个markdown编辑器 前段时间做项目的时候,需要一个Markdown编辑器,在网上找了一些开源的实现,但是都不满足需求 说实话,这些开源项目也很难满足需求公司项目的需求,与其实现一个大 ...

  8. 原生js实现一个侧滑删除取消组件(item slide)

    组件,本质上是解决某个问题封装的类,在此记录原生js实现侧滑删除 先上效果图 实现思路 1. 确定渲染的数据结构 2. 思考划分布局,总的有两个主要的模块:内容区域和按钮区域 2.1 内容区域保持宽度 ...

  9. codevs 1086 栈(Catalan数)

    题目描述 Description 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). ...

  10. Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...