java中最简单的文件复制,读写(IO流操作)

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class InputOutput
{
	public static void main(String[] args)
	{
		int b=0;
		try
		{
			FileInputStream in=new FileInputStream("f:\\io\\share\\pp.txt");//用\\和/是一样的
			FileOutputStream out=new FileOutputStream("f:/io/pp2.txt");//没有文件会自动建,但是目录一定要有
			while((b=in.read())!=-1)
			{
				out.write(b);
			}
			in.close();//用完要关闭
			out.close();
		} catch (FileNotFoundException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

字符流和缓冲流

package IOPractice;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Buffer
{
	public static void main(String[] args)
	{
		String s=null;
		try
		{
			BufferedReader reader=new BufferedReader(new FileReader("f:\\io\\share\\pp.txt")) ;//字符流
			BufferedWriter writer=new BufferedWriter(new FileWriter("f:/io/pp2.txt"));
			while((s=reader.readLine())!=null)//一行一行读数据
			{
				writer.write(s);
			}
			reader.close();//用完要关闭
			writer.close();
		} catch (FileNotFoundException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

转换流,往文件中添加内容OutStreamWriter

		try
		{
			//转换流
			OutputStreamWriter osw=new OutputStreamWriter(
					new FileOutputStream("f:\\io\\share\\pp.txt"));
			osw.write("as");//往文件里写东西
			osw.close();
			osw=new OutputStreamWriter(
					new FileOutputStream("f:\\io\\share\\pp.txt",true),//加了true属性:往原有内容后添加内容
					"gbk");//可以指定字符集编码
			osw.write("好");
			osw.close();
		} catch (FileNotFoundException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

数据流DataInputStream

	ByteArrayOutputStream baos=new ByteArrayOutputStream();//字节数组输出流 
		DataOutputStream dos=new DataOutputStream(baos);//可以将不同类型一次性写进去
		try
		{
			dos.writeBoolean(true);
			dos.writeDouble(Math.random());
			ByteArrayInputStream bais=new ByteArrayInputStream(baos.toByteArray());
			DataInputStream dis=new DataInputStream(bais);
			System.out.println(dis.readBoolean());//先写的先读,读出的是类型而不是字节或字符
			System.out.println(dis.readDouble());
			dos.close();dis.close();
		} catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


ObjectInputStream/ObjectOutputStream对象操作

package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class ObjectStream {
public static void main(String[] args) throws Exception{
	
	try {
		T t=new T();
		t.i=90;
		FileOutputStream fos=new FileOutputStream("e:/log/log.txt");
		ObjectOutputStream oos=new ObjectOutputStream(fos);
		oos.writeObject(t);
		oos.flush();
		oos.close();
		FileInputStream fis=new FileInputStream("e:/log/log.txt");
		ObjectInputStream ois=new ObjectInputStream(fis);
		T tRead=(T)ois.readObject();
		System.out.println(tRead.i+","+tRead.k);
	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

}
class T implements Serializable
{
	int i=11;
	int j=9;
	transient int k=3;//使得k透明的 不进入序列化
}



 



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值