问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

有大神帮我解答这个问题吗,就是我能实现字节的打印输出,但是一直显示不了所用的时间,是哪里出错了吗?不胜感激!

package test;


import java.io.IOException;


public class IOTest2 {

public static void main(String[] args){

try {

long start=System.currentTimeMillis();

//Test15.printHexByByteArray("E:\\CloudMusic\\陈鸿宇 - 途中.mp3");

Test15.printHexByByteArray("F:\\javadata\\第五章代码\\project\\src\\com\\imooc\\InitailTelphone.java");

System.out.println();

long end=System.currentTimeMillis();

System.out.println(end-start);

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}


提问者:倚梦流 2016-03-01 08:43

个回答

  • 派皮诺
    2016-04-03 20:38:50
    已采纳

    Test15.printHexByByteArray("F:\\javadata\\第五章代码\\project\\src\\com\\imooc\\InitailTelphone.java");

    应该是这个里面的循环没有结束。你在最后面直接输出System.out.println("慕课")试试,如果也不能输出,那就是上面这个方法的问题了。我自己写时while((bytes=in.read(buf, 0,buf.length))!=-1)刚开始把-1写成0,就出现你这个问题,你检查检查Test15.printHexByByteArray()方法,是不是循环没结束?

  • 倚梦流
    2016-03-08 22:40:59

    没有抛出异常不是执行以下程序吗:

    long start=System.currentTimeMillis();

    //Test15.printHexByByteArray("E:\\CloudMusic\\陈鸿宇 - 途中.mp3");

    Test15.printHexByByteArray("F:\\javadata\\第五章代码\\project\\src\\com\\imooc\\InitailTelphone.java");

    System.out.println();

    long end=System.currentTimeMillis();

    System.out.println(end-start);

    我没有抛出异常,能正确打印,可就是输出不了时间……

  • PY00001
    2016-03-01 22:27:34

    如果你的代码中

    Test15.printHexByByteArray("F:\\javadata\\第五章代码\\project\\src\\com\\imooc\\InitailTelphone.java");

    这句抛出异常,那么他就会停止执行try之后的代码而直接执行catch块中的,若程序没有抛出异常则可顺利执行try之后的代码,即

    System.out.println();

    long end=System.currentTimeMillis();

    System.out.println(end-start);

    这段