博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习笔记(4)
阅读量:5067 次
发布时间:2019-06-12

本文共 2399 字,大约阅读时间需要 7 分钟。

(一)老师上周留了作业,让我们改进复制代码,我做的不好,在老师上课讲解后,我基本明白了要怎么做,要把从源文件读取字节从一个改为多个,这样就可以提高运行效率,大大缩短运行时间,下面是我的两段代码和运行结果

1.运行较慢的
package CopyFile;

import java.io.FileInputStream;

import java.io.FileOutputStream;
import java.io.IOException;

/**

  • 实现文件复制
  • @author Administrator
  • */

    public class CopyFile {
    public static void copyBytesFile(String sFileName,String dFileName) throws IOException{

    //创建文件输入流对象和文件输出流对象  //文件输入流对象与源文件关联  FileInputStream fis = new FileInputStream(sFileName);  //文件输出流对象与目标文件关联  FileOutputStream fos = new FileOutputStream(dFileName);  //循环读取文件的内容,同时写出到外部的磁盘文件  int read = fis.read();//从关联的源文件中读一个字节,如果到达文件末,返回值为-1  while(read != -1){      fos.write(read);//向关联的目标文件写出一个字节      read = fis.read();  }  //清空缓存关闭流对象  fis.close();  fos.close();
    }
    /**
    • @param args
      */
      public static void main(String[] args) {
      // TODO Auto-generated method stub
      long t1,t2;
      t1 = System.currentTimeMillis();
      try {
      CopyFile.copyBytesFile("a.mp3", "temp.mp3");
      } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      t2 = System.currentTimeMillis();
      System.out.println("用时:" + (t2 - t1));

    }

}

905533-20160408164659437-1639043868.png

2.运行较快的

package CopyFile;

import java.io.FileInputStream;

import java.io.FileOutputStream;
import java.io.IOException;

/**

  • 实现文件复制
  • @author Administrator
  • */

    public class CopyFile {
    public static void copyBytesFile2(String sFileName,String dFileName) throws IOException{

    //创建文件输入流对象和文件输出流对象      //文件输入流对象与源文件关联      FileInputStream fis = new FileInputStream(sFileName);      //文件输出流对象与目标文件关联      FileOutputStream fos = new FileOutputStream(dFileName);      //循环读取文件的内容,同时写出到外部的磁盘文件      byte[] b = new byte[1024];      /*从关联的源文件中读多个字节,保存到字节数组b中,如果到达文件末。       * 返回值为-1,否则返回值为实际读到的字节数。       */      int read = fis.read(b);//从关联的源文件中读一个字节,如果到达文件末,返回值为-1      while(read != -1){          fos.write(b);//向关联的目标文件写出一个字节          read = fis.read(b);      }      //清空缓存关闭流对象      fis.close();      fos.close();
    }
    /**
    • @param args
      */

    public static void main(String[] args) {

    // TODO Auto-generated method stub
    long t1,t2;
    t1 = System.currentTimeMillis();
    try {
    CopyFile.copyBytesFile2("a.mp3", "temp.mp3");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    t2 = System.currentTimeMillis();
    System.out.println("用时:" + (t2 - t1));

    }

}

905533-20160408164918687-523955054.png

(二)期末课程设计 经过讨论,我们小组准备在期末课程设计做一个视频播放器,我们希望可以实现播放视频,快进快退,播放,暂停,停止等多项事件响应功能,并会努力去完成。下面是我们准备要做成的界面样式。

905533-20160408165339406-965066973.jpg

转载于:https://www.cnblogs.com/abnry/p/5368848.html

你可能感兴趣的文章
Java处理多人同时读写文件的文件锁处理
查看>>
设计模式IOS篇-第二章:委托模式
查看>>
beego——日志处理
查看>>
【连载】 FPGA Verilog HDL 系列实例--------十进制加减法计数器
查看>>
MySQL中MyISAM与InnoDB区别及选择
查看>>
DataGrid 上修改數據
查看>>
nginx php-fpm安装配置(转)
查看>>
重读The C programming Lanuage 笔记一:类型转换
查看>>
复杂类型的属性注入
查看>>
回家最好最快路线
查看>>
mysql面试题
查看>>
初识Hadoop
查看>>
window.open()打开子页面并从父页面取值
查看>>
软件测试系列--通用测试用例写作
查看>>
SQL语句题
查看>>
Android消息机制
查看>>
iOS应用支持IPV6,就那点事儿
查看>>
mysql命令行导入和导出数据
查看>>
css中span元素的width属性无效果原因及多种解决方案
查看>>
解决IIS6.0 无法访问
查看>>