Java的一个IO实例

//Java的IO的一个实例
import java.io.*;
import java.util.zip.*;

public class abc5{
 String temp=new String();
 String t=new String();
 public void readByLineFromConsoleAndPrint(){
  System.out.println("==从控制台获得输入==");
  try{
   BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
   System.out.println("请输入一行字符:");
   System.out.println(temp=in.readLine());
  }
  catch(IOException e){
   e.printStackTrace();
  }
 }
 public void readByLineFromFileAndPrint(){
  System.out.println("==从文件获得输入==");
  try{
   BufferedReader in=new BufferedReader(new FileReader("abc.dat"));
   temp="";
   String s=new String();
   while((s=in.readLine())!=null)
      temp+=s+"/n";
      in.close();
      System.out.println(temp);
     }
     catch(FileNotFoundException e){
     e.printStackTrace();
     }
     catch(IOException e){
     e.printStackTrace();
     }
 }
 public void readFromMemoryAndPrint(){
  System.out.println("==从内存获得输入==");
  try{
   StringReader stringReader=new StringReader(temp);
   int t;
   while((t=stringReader.read())!=-1)
   System.out.println((char)t);
  }
  catch(IOException e){
   e.printStackTrace();
  }
 }
 public void writeToFile()
 {
  System.out.println("==文件输出流==");
  try{
   BufferedReader in=new BufferedReader(new StringReader(temp));
   PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("abc.dat")));
   while((t=in.readLine())!=null)
   out.println(t);
   out.close();
  }
  catch(IOException e){
   e.printStackTrace();
  }
 }
 public void randomAccessFile(){
  try{
   System.out.println("==随机访问文件==");
   RandomAccessFile file=new RandomAccessFile("abc.txt","rw");
   for(int i=0;i<10;i++)
   file.writeDouble(i*1.12);
   file.seek(100);
   file.writeDouble(577.4545);
   file.close();
   file=new RandomAccessFile("abc.txt","r");
   for(int i=0;i<10;i++)
   System.out.println("value"+i+"="+file.readDouble());
   file.seek(100);
   System.out.println(file.readDouble());
   file.close();
  }
  catch(IOException e){
   e.printStackTrace();
  }
 }
 public void formattedInputAndOutput()
 {
  System.out.println("==格式化数据输出==");
  try{
   DataOutputStream out=new DataOutputStream(new BufferedOutputStream(new FileOutputStream("data.data")));
   out.writeDouble(54.7769);
   out.writeBytes("this is bytes/n");
   out.writeChars("this is chars/n");
   out.writeFloat(100.6f);
   out.writeUTF("this is utf encoding string/n");
   out.close();
  
   System.out.println("==格式化数据输入==");
   DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream("data.data")));
   BufferedReader reader=new BufferedReader(new InputStreamReader(in));
   System.out.println(in.readDouble());
   System.out.println(in.readLine());
   System.out.println(in.readLine());
   System.out.println(in.readFloat());
   System.out.println(in.readLine());
  }
  catch(EOFException e){
   System.out.println("end of stream");
  }
  catch(IOException e){
   e.printStackTrace();
  }
 }
 
 public void zipFile(){
  System.out.println("==使用java压缩文件==");
  try{
   FileOutputStream file=new FileOutputStream("demo.zip");
   CheckedOutputStream csum=new CheckedOutputStream(file,new Adler32());
   ZipOutputStream zip=new ZipOutputStream(new BufferedOutputStream(csum));
   zip.setComment("Zip输出流测试");
   BufferedReader reader=new BufferedReader(new FileReader("Test.java"));
   zip.putNextEntry(new ZipEntry("Test.java"));
   int c;
   while((c=reader.read())!=-1)
      zip.write(c);
   zip.close();
  }
  catch(IOException e){
   e.printStackTrace();
  }
 }
 public static void main(String []args){
  JavaIODemo demo=new JavaIODemo();
  demo.readByLineFromConsoleAndPrint();
  demo.readFromMemoryAndPrint();
  demo.writeToFile();
  demo.formattedInputAndOutput();
  demo.randomAccessFile();
  demo.readByLineFromFileAndPrint();
  file://demo.readAndWriteSerialObject();
  demo.zipFile();
 }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值