各种其他的流(12.3)

//  InputStream  抽象类,输入流;

//  FileInputStream i=new FileInputStream(file);  来源  字节 input output
//  DataInputStream i=new DataInputStream(inputstream);   强化处理   ,能提出基本数据类型,用的较少,曾经频繁用于网络通信
//  ObjectInputStream o=new ObjectInputStream(inputstream); 强化处理,面向对象的强化,可以读写 自定义类的对象
  //使用objectinputstream  时要对读写的自定义类做特殊处理,让离开堆空间的数据依然有对类的描述信息
//  FileReader  来源。字符Reader Writer
//  BufferedReader  强化处理,字符文档编辑器
//  !!!!!!!!word文档属于字节在处理


//  文件,字符型的复制
  File f=new File("C:\\Users\\花花\\Desktop\\1.txt");
  File f1=new File("C:\\Users\\花花\\Desktop\\1c.txt");

FileReader fr=null;
  FileWriter fw=null;
  System.out.println(f1.exists());
  BufferedReader br=null;//强化基础流    新
  BufferedWriter bw=null;    //     新
  try {
   fr=new FileReader(f);
   fw=new FileWriter(f1);
   char[] cs=new char[100];
   br=new BufferedReader(fr);
   bw=new BufferedWriter(fw);
   while(true){
//    int num=fr.read(cs);  //读取文件信息进内存
//    if(num==-1)break;
//    fw.write(Arrays.copyOf(cs,num));//输出。
//    
   String str=br.readLine();
   if(str==null)break;
   System.out.println(str);
   fw.write(str);
   }
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
  }finally{
   try {
    fr.close();
    fw.close();
    br.close();
    bw.close();
   } catch (Exception e2) {
    // TODO: handle exception
   }
  }
 }
 }

#2 练习题

public class Demo1_yinmi {
//比较适合加密。object啥啥啥。序列化
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  File f=new File("C:\\Users\\花花\\Desktop\\1c.txt");
  try {
   FileOutputStream fo=new FileOutputStream(f);
   ObjectOutputStream o=new ObjectOutputStream(fo);//增强

	   o.writeObject(new Msg("a",new Date()));
 FileInputStream fi=new FileInputStream(f);
   ObjectInputStream oi=new ObjectInputStream(fi);//增强

Msg m=(Msg)oi.readObject();
   System.out.println(m);
   fi.close();
   oi.close();
  } catch (Exception e) {
   // TODO: handle exception
  }  
 }
}
class Msg implements Serializable{
 private int num;
 private static int count;
 private String name;
 private Date date;
 private static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:ss:mm");
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public Date getDate() {
  return date;
 }
 public void setDate(Date date) {
  this.date = date;
 }
 public static SimpleDateFormat getSdf() {
  return sdf;
 }
 public static void setSdf(SimpleDateFormat sdf) {
  Msg.sdf = sdf;
 }
 @Override
 public int hashCode() {
  final int prime = 31;
  int result = 1;
  result = prime * result + ((date == null) ? 0 : date.hashCode());
  result = prime * result + ((name == null) ? 0 : name.hashCode());
  result = prime * result + num;
  return result;
 }
 @Override
 public boolean equals(Object obj) {
  if (this == obj)
   return true;
  if (obj == null)
   return false;
  if (getClass() != obj.getClass())
   return false;
  Msg other = (Msg) obj;
  if (date == null) {
   if (other.date != null)
    return false;
  } else if (!date.equals(other.date))
   return false;
  if (name == null) {
   if (other.name != null)
    return false;
  } else if (!name.equals(other.name))
   return false;
  if (num != other.num)
   return false;
  return true;
 }
 public Msg( String name, Date date) {
  super();
  num=count++;
  this.name = name;
  this.date = date;
 }
 @Override
 public String toString() {
  return "Msg [num=" + num + ", name=" + name + ", date=" + date + "]";
 }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值