打开一个文件.
是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也不太熟,以上不一定正确,只做参考 :)
是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也不太熟,以上不一定正确,只做参考 :)
这句是将emf文件作为FileInputStream读入;long start = System.currentTimeMillis();
这一句可能是用来作并发控制或者线程同步用的,你这给出的程序只是一个片断,还看不出来,建议贴出完整程序。
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();
}
}
}
全部的就是这样了 :)
......
.....
System.out.println("Parsed file in: "+(System.currentTimeMillis()-start)+" ms.");
这是打出从开始记录时间到结束时间共用了多少时间.这一般时调试时看一下性能时用的.
EMFHeader header = emf.readHeader();
System.out.println(header);
Tag tag = emf.readTag();
while (tag != null) {
System.out.println(tag);
tag = emf.readTag();
java的IO里面常常会有各种流的叠加,例如:
BufferedInputStream bin = new BufferedInputStream(InputStream);
EMFInputStream 也是这样的一个包装,提供一些特别的方法,这个是Decorator模式的一个例子,有InputStream方法的所有特性,(继承自InputStream),扩展了getHeader方法。
可以看看EMF的源码。
至于:CurrentMillius是为了取得 执行程序换了多长时间