JAVA的输入输出基本操作样例

这些类的继承关系有些类似,弄一个作为样例,理解一下其中的机制。

package cc.openhome;

import java.io.*;

public class Member {
    private String number;
    private String name;
    private int age;

    public Member(String number, String name, int age) {
        this.number = number;
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return String.format("(%s, %s, %d)", number, name, age);
    }

    public void save() {
        try{
            DataOutputStream output = new DataOutputStream(new FileOutputStream(number));
            output.writeUTF(number);
            output.writeUTF(name);
            output.writeInt(age);
        } catch(IOException ex) {
            throw new RuntimeException(ex);
        }
    }

    public static Member load(String number) {
        Member member = null;
        try {

            DataInputStream input = new DataInputStream(new FileInputStream(number));
            member = new Member(input.readUTF(), input.readUTF(), input.readInt());
        } catch(IOException ex) {
            throw new RuntimeException(ex);
        }
        return member;
    }
}
package cc.openhome;

import java.io.*;

public class MemberDemo {
    public static void main(String[] args) {
        Member[] members = { new Member("B1234", "Justing", 90),new Member("B4532", "Monica", 87)};
        for(Member member : members) {
            member.save();
        }
        System.out.println(Member.load("B1234"));
    }
}

时间: 2024-10-09 21:44:24

JAVA的输入输出基本操作样例的相关文章

【Java】Java Socket 通信演示样例

用socket(套接字)实现client与服务端的通信. 这里举两个样例: 第一种是每次client发送一个数据,服务端就做一个应答. (也就是要轮流发) 另外一种是client能够连续的向服务端发数据,服务端也能够连续向client发数据.(多线程) 为了方便起见,client服务端都放在一个主机上.分别开两个进程[哈哈,进程间通信lol~] PS: 一个聊天程序雏形 代码也放在GitHub上了:https://github.com/MummyDing/socketChatDemo Demo

java内存泄露补充样例

前几天写了个内存泄露的文章.里面介绍了内存泄露的相关知识:http://blog.csdn.net/u010590685/article/details/46973735 但是里面给的样例不是非常好,今天看到一个非常好的样例这里补充给大家. 假如我们自己写一个栈.以下是它的pop方法: public Object pop(){ Object object=arrays[size]; size--; return object; } 这种方法中我们能够看到pop是把当前的数组的最后一位返回回来,然

Java操作HDFS代码样例

代码在GitHub上. 包括如下几种样例代码: 新建文件夹 删除文件/文件夹 重命名文件/文件夹 查看指定路径下的所有文件 新建文件 读文件 写文件 下载文件至本地 上传本地文件 https://github.com/quchunhui/tod-train-1.0/tree/master/hadoop/src/main/java/hdfs 原文地址:https://www.cnblogs.com/quchunhui/p/9112510.html

Java 连接 Hive的样例程序及解析

以后编程基于这个样例可节省查阅API的时间. private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver"; try{ Class.forName(driverName);//取得数据驱动,应用不同的数据驱动可以用不同的class路径. }catch (ClassNotFoundException e){ e.printStackTrack();//optional System.exit(1);

java面向抽象编程样例

import java.util.*; abstract class Geometry{    public abstract double getArea();    }  class Pillar{    Geometry bottom;    double height;    Pillar(Geometry bottom ,double height){        this.bottom=bottom;        this.height=height;            } 

elasticsearch java API 实现搜索样例

查看cluster.version:curl 'centos1:9200'插入:curl -XPUT 'http://localhost:9200/dept/employee/1' -d '{ "empname": "emp1"}'查看index:curl 'centos1:9200/_cat/indices?v'查看1条内容:curl 'centos1:9200/dept/employee/1?pretty'查看所有内容:curl 'centos1:9200/de

java 下载文件的样例

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java

java socket编程简单样例(客户端+服务器)

//客户端 package test; import java.io.*; import java.net.*; import java.applet.Applet; public class TalkServer{ public static void main(String args[]) { try{ ServerSocket server=null; try{ server=new ServerSocket(4700); //创建一个ServerSocket在端口4700监听客户请求 }

java连接mysql数据库样例

package packagename; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;   public class classname {     public static String