当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
OutputStream和InputStream实例
发布时间:2010/11/8 15:34:27 来源:城市学习网 编辑:ziteng
  import java.io.File;
  import java.io.OutputStream;
  import java.io.FileOutputStream;
  public class OutputStreamDemo03
  {
  public static void main(String args[]) throws Exception{
  File file = new File( "H:"+File.separator+"programTest"+File.separator+"IO"+File.separator+"字符流与字符流"+File.separator+"test.txt");
  OutputStream out = null;
  out = new FileOutputStream(file,true); //是否追加
  String str = " 新增非覆盖!";
  byte[] b = str.getBytes();
  for(byte temp:b){
  out.write(temp);
  }
  //out.write(b);
  //out.flush();
  out.close();
  out = new FileOutputStream(file,true); //是否追加
  str = " \r\n我是换行的哦!"; // \r\n换行
  b = str.getBytes();
  for(byte temp:b){
  out.write(temp);
  }
  //out.write(b);
  //out.flush();
  out.close();
  }
  };
  import java.io.File;
  import java.io.InputStream;
  import java.io.FileInputStream;
  public class InputStreamDemo01
  {
  public static void main(String args[]) throws Exception{
  File file = new File( "H:"+File.separator+"programTest"+File.separator+"IO"+File.separator+"字符流与字符流"+File.separator+"test.txt");
  InputStream input = null;
  input = new FileInputStream(file); //是否追加
  String str = " 新增非覆盖!";
  byte[] b = new byte[1024]; //所有内容读到此数组中
  input.read(b);
  input.close();
  System.out.println("读取到的字符串为:"+new String(b));
  }
  };
  //此时内容已读取过来,不过有很多空格,因为b的大小为1024
  修改为
  import java.io.File;
  import java.io.InputStream;
  import java.io.FileInputStream;
  public class InputStreamDemo01
  {
  public static void main(String args[]) throws Exception{
  File file = new File( "H:"+File.separator+"programTest"+File.separator+"IO"+File.separator+"字符流与字符流"+File.separator+"test.txt");
  InputStream input = null;
  input = new FileInputStream(file); //是否追加
  String str = " 新增非覆盖!";
  byte[] b = new byte[1024]; //所有内容读到此数组中
  int len = input.read(b);
  input.close();
  System.out.println("读取到的字符串为:"+new String(b,0,len));
  }
  };
  高效方式
  byte[] b = new byte[(int)f.length()]; //开辟文件大小的空间
  input.read(b);
  input.close();
  System.out.println("读取到的字符串为:"+new String(b));
  byte[] b = new byte[(int)file.length()]; //所有内容读到此数组中
  for(int i=0;i<b.length;i++){
  b[i] = (byte)input.read();
  }
  input.close();
  System.out.println("读取到的字符串为:"+new String(b));
  带背景字体部分适用于知道文件大小时可用,input.read()读到文件末尾时值为-1,
  byte[] b = new byte[(int)f.length()]; //开辟文件大小的空间
  int len = 0;
  int temp = 0;
  while((temp = input.read()) != -1)
  {
  b[len] = (byte)temp;
  len++;
  }
  input.close();
  System.out.println("读取到的字符串为:"+new String(b,0,len));
  带横线部分适合于不知道所读内容大小时,通过input.read()读到文件末尾时值为-1进行判断输出
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved