第五课:流与其他


首先参考自:http://blog.csdn.net/hguisu/article/details/7418161


一.文件输入输出字节流

/*
*文件名:fileInputStreamTest.java
*功能:读取文件并显示到控制台
*/
package IOTest;
import java.io.*;
public class fileInputStreamTest 
{
    public static void main(String[] args) throws IOException 
    {
        FileInputStream fileInputStream=new FileInputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt");
        byte[] buf=new byte[1024];
        int length=0;
        while ((length=fileInputStream.read(buf))>0)
        {
            System.out.println(new String(buf,0,length));
        }
        fileInputStream.close();
    }
}
/*
*文件名:fileOutputStreamTest
*功能:读取文件并将文件写入另一个文件中(复制)
*/
package IOTest;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class fileOutputStreamTest 
{
    public static void main(String[] args) throws IOException 
    {
        FileInputStream fileInputStream=new FileInputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt");
        FileOutputStream fileOutputStream=new FileOutputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\w.txt");
        byte[] buf=new byte[1024];
        int length=fileInputStream.read(buf,0,buf.length);
        for (byte b : buf) {
            fileOutputStream.write(b);
        }   
        fileInputStream.close();
        fileOutputStream.close();
    }
}

二.输入输出字符流

/*
*文件名:bufferedReaderTest.java
*功能:读取文件到控制台显示
*/
package IOTest;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class bufferedReaderTest 
{
    public static void main(String[] args) throws IOException 
    {
        BufferedReader bufferedReader=new BufferedReader(new FileReader("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
        String line=null;
        while ((line=bufferedReader.readLine())!=null) 
        {
            System.out.println(line);
        }
    }
}
/*
*文件名:bufferedWriterTest.java
*功能:读取文件并写入到另一个文件(复制)
*/
package IOTest;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class bufferedWriterTest 
{
    public static void main(String[] args) throws IOException 
    {
        BufferedReader bufferedReader=new BufferedReader(new FileReader("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
        BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter("C:\\Users\\f\\Desktop\\WorkingSpace\\w.txt"));
        String line=null;
        while ((line=bufferedReader.readLine())!=null) 
        {
            bufferedWriter.write(line);
            bufferedWriter.newLine();           
        }
        bufferedWriter.close();
        bufferedReader.close();
    }
}

三.对象流

/*
*文件名:User.java
*功能:对象类信息
*/
package IOTest;
import java.io.*;

public class User implements Serializable
{
    String userName;
    String password;
    public User(String userName,String password)
    {
        this.userName=userName;
        this.password=password; 
    }
    @Override
    public String toString() 
    {
        return "[用户名:"+this.userName+"----密码:"+this.password+"]";
    }
}
/*
*文件名:UserTest.java
*功能:写对象和读对象测试
*/
package IOTest;
import java.io.*;

public class UserTest 
{
    public static void main(String[] args) throws IOException, ClassNotFoundException 
    {
        User user1=new User("Alice", "1234");
        writeObj(user1);
        User user2=(User)readObj();
        System.out.println("读取对象的信息:"+user2);
    }
    //写对象到文件(序列化)
    public static void  writeObj(User user) throws IOException 
    {
        ObjectOutputStream objOut=new ObjectOutputStream(new FileOutputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
        objOut.writeObject(user);
        objOut.close();
    }
    //读取文件中的对象(反序列化)
    public static Object readObj() throws IOException, ClassNotFoundException
    {
        ObjectInputStream objIn=new ObjectInputStream(new FileInputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
        return objIn.readObject();
    }
}
/*
*文件名:UsersTest.java
*功能:写对象数组和读对象数组
*/
package IOTest;
import java.io.*;

public class UsersTest 
{
    public static void main(String[] args) throws IOException, ClassNotFoundException 
    {
        User[] users=new User[3];
        users[0]=new User("Alice", "1234");
        users[1]=new User("Bob", "12345");
        users[2]=new User("Carl", "123456");
        writeObj(users);
        User[] user2=readObj2();
        for (User user : user2) 
        {
            System.out.println(user);
        }
        /*      User user1=new User("Alice", "1234");
        writeObj(user1);
        User user2=(User)readObj();
        System.out.println("读取对象的信息:"+user1);*/
    }
    //写对象到文件(序列化)
    public static void  writeObj(User[] user) throws IOException 
    {
        ObjectOutputStream objOut=new ObjectOutputStream(new FileOutputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
        objOut.writeObject(user);
        objOut.close();
    }
    //读取文件中的对象(反序列化)
    /*  public static Object readObj() throws IOException, ClassNotFoundException
        {
            ObjectInputStream objIn=new ObjectInputStream(new FileInputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
            return objIn.readObject();
        }*/
    public static User[] readObj2() throws IOException, ClassNotFoundException
    {
        ObjectInputStream objIn=new ObjectInputStream(new FileInputStream("C:\\Users\\f\\Desktop\\WorkingSpace\\r.txt"));
        User[] newusers=(User[])objIn.readObject(); 
        return newusers;
    }
}

得到结果:

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值