zoukankan      html  css  js  c++  java
  • java学习笔记(4)

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

    }

    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));
    
    }
    

    }

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

  • 相关阅读:
    智慧城市建设中政府网站群建设起到了积极的作用
    SQLite 入门教程(四)增删改查,有讲究 (转)
    基于H.264的实时网络摄像——Android客户端
    中小型数据存储方案探讨
    SQL的多表操作
    lua中的时间函数
    C++ 输入输出文件流(ifstream&ofstream)
    linux系统下的shell脚本
    makefile的简单写法
    Linux-ubuntu
  • 原文地址:https://www.cnblogs.com/abnry/p/5368848.html
Copyright © 2011-2022 走看看