打开一个文件.
是emf文件,不过不知道emf是什么文件 ?:)
FileInputStream fis = new FileInputStream(args[0]);  //应该是打开一个文件,参数文件名?
            EMFInputStream emf = new EMFInputStream(fis); //emf文件流            long start = System.currentTimeMillis();  /开始时间
            EMFHeader header = emf.readHeader();         //定义并得到文件头
            System.out.println(header); //打印出来
            
            Tag tag = emf.readTag();   //得到emf文件的 tag
            while (tag != null) {        //循环一直取tab
                System.out.println(tag); //打印tag
                tag = emf.readTag();       //取tag
             
我对io也不太熟,以上不一定正确,只做参考 :)

解决方案 »

  1.   

    FileInputStream fis = new FileInputStream(args[0])  这句是不是要打开个EMF文件呀(EMF文件是图形的一种)
      

  2.   

    long start = System.currentTimeMillis();  /开始时间  这里引入时间我不太明白  :(
      

  3.   

    FileInputStream fis = new FileInputStream(args[0])  
    这句是将emf文件作为FileInputStream读入;long start = System.currentTimeMillis();  
    这一句可能是用来作并发控制或者线程同步用的,你这给出的程序只是一个片断,还看不出来,建议贴出完整程序。
      

  4.   

    package org.freehep.graphicsio.emf.test;import java.io.DataInputStream;
    import java.io.FileInputStream;
    import java.io.IOException;import org.freehep.graphicsio.emf.EMFHeader;
    import org.freehep.graphicsio.emf.EMFInputStream;
    import org.freehep.util.io.Tag;
    public class EMFDump {    public static void main(String[] args) {        try {
                FileInputStream fis = new FileInputStream(args[0]);
                EMFInputStream emf = new EMFInputStream(fis);            long start = System.currentTimeMillis();
                EMFHeader header = emf.readHeader();
                System.out.println(header);
                
                Tag tag = emf.readTag();
                while (tag != null) {
                    System.out.println(tag);
                    tag = emf.readTag();
                }
                System.out.println("Parsed file in: "+(System.currentTimeMillis()-start)+" ms.");
            } catch (IOException e) {
                e.printStackTrace();
            } 
        }
    }
    全部的就是这样了  :)
      

  5.   

    long start = System.currentTimeMillis();这是记一下开始时间
    ......
    .....
    System.out.println("Parsed file in: "+(System.currentTimeMillis()-start)+" ms.");
    这是打出从开始记录时间到结束时间共用了多少时间.这一般时调试时看一下性能时用的.
      

  6.   

    哦 时间是这个用的呀 呵呵 知道了 谢谢!那以下几句的具体效果会是什么呢?请问
                EMFHeader header = emf.readHeader();
                System.out.println(header);
                
                Tag tag = emf.readTag();
                while (tag != null) {
                    System.out.println(tag);
                    tag = emf.readTag();
      

  7.   

    猜测:
    java的IO里面常常会有各种流的叠加,例如:
    BufferedInputStream bin = new BufferedInputStream(InputStream);
    EMFInputStream 也是这样的一个包装,提供一些特别的方法,这个是Decorator模式的一个例子,有InputStream方法的所有特性,(继承自InputStream),扩展了getHeader方法。
    可以看看EMF的源码。
    至于:CurrentMillius是为了取得  执行程序换了多长时间