FileOutputStream和FileInputStream的认识和使用

package FileStram;
import java.awt.Image;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.BitSet;
/**
 * 字节流
 * @author hy
 *
 */
public class FileInputOutStram {
 /**
  * 主函数
  * @param args
  */
 public static void main(String[] args) {
  System.out.println("-----文件流--------");
     fileinputStram("D:\\text.txt");
     fileOutputStram("D:\\text.txt");
     coupFile("D://javaIo/log.png","D://javaIo/log2.png");
 }
 /**
  * 输出流是向文件中写
  * @param pathname 目标文件
  */
 public static void fileinputStram(String pathname){
  String body="建安费就当是可怜可怜房间里的时刻";
  File file=new File(pathname);
  try {
   //file.mkdir();创建文件file.mkdirs();创建路径
   file.createNewFile();//创建文件
   FileOutputStream fileOutputStream=new FileOutputStream(file);   
   fileOutputStream.write(body.getBytes());
   fileOutputStream.close();
  } catch (Exception e) {
   // 文件不存在
  }
 }
 /**
  * 输入流是读取文件
  * @param pathname 目标文件
  */
 private static void fileOutputStram(String filePath) {
  int size;
  String cont=null;
  File file=new File(filePath);
  try {
   FileInputStream fileInputStream=new FileInputStream(file);
   byte b[]=new byte[1024];//每次读1024个字节
   while ((size=fileInputStream.read(b))!=-1) {//读出来的东西放在b[]里面
    cont=new String(b,0,size);//从0到当前字节大小读
    System.out.println("----"+cont);
   }
   fileInputStream.close();//按需要关闭,不用了则一定要关闭
  } catch (Exception e) {
   // 文件不存在
   e.printStackTrace();
  }
 }
 /**
  * 复制文件
  * @param filepath1 目标文件
  * @param filepath2 复制到
  */
 private static void coupFile(String filepath1,String filepath2) {
  long timGo=System.currentTimeMillis();//执行时的起始时间
  try {
   FileInputStream fileInputStream1=new FileInputStream(filepath1);
   FileOutputStream fileOutputStream=new FileOutputStream(filepath2);
   byte b[]=new byte[1024];//每次读1024个字节
   int size;
   while ((size=fileInputStream1.read(b))!=-1) {
    fileOutputStream.write(b,0,size);
   }
   fileInputStream1.close();
   fileOutputStream.close();
  } catch (Exception e) {
   // 文件不存在
   e.printStackTrace();
  }
  long timEnd=System.currentTimeMillis();//执行终止时的时间
  System.out.println("使用文件输入流和文件输出流实现文件的复制完毕!耗时:"+(timEnd-timGo)+"毫秒");
  System.exit(0);//结束java虚拟机,释放内存。
 }
}
/**
          这个方法是用来结束当前正在运行中的java虚拟机。任何status是非零参数,那么表示是非正常退出。
    System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
    System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
    System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:   return是回到上一层,而System.exit(status)是回到最上层
 */
//望各位大咖指教
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值