package com.coderising.jvm.loader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class ClassFileLoader {
private List<String> clzPaths = new ArrayList<String>();
public byte[] readBinaryCode(String className) {
try {
String path = className.replaceAll("\\.","/");
System.out.println(path);
// String base = Thread.currentThread().getContextClassLoader().getResource("/").getPath();
String base = "D:\\src\\java\\study\\coding2017\\group13\\2931408816\\lesson4\\build\\classes\\main";
System.out.println(base);
InputStream inputStream = new FileInputStream(base+"/"+path+".class");
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
return bytes;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public void addClassPath(String path) {
clzPaths.add(path);
}
public String getClassPath(){
StringBuilder builder = new StringBuilder();
for (String s :
clzPaths) {
builder.append(s).append(";");
}
builder.deleteCharAt(builder.length()-1);
return builder.toString();
// return null;
}
}