рдЬрд╛рд╡рд╛ рдореЗрдВ рдХрдХреНрд╖рд╛рдПрдВ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВред рдЕрднреНрдпрд╛рд╕

рдпрд╣ рд▓реЗрдЦ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓реЗрдЦ рд▓реЛрдбрд┐рдВрдЧ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИ ред рд╕рд┐рджреНрдзрд╛рдВрдд ред



рд▓реЗрдЦ рдкреНрд▓рдЧ-рдЗрди-рдореЙрдбреНрдпреВрд▓рд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдврд╛рдВрдЪреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рдХрд╕реНрдЯрдо рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд▓рдЧ рдЗрди рдХреЛ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред



рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдореВрд▓ рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдХрд╕реНрдЯрдо рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдХреЛрдб рдХреЗ рдЖрд╣реНрд╡рд╛рди рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред



рдкреНрд░реЗрд░рдгрд╛





рдЕрдХреНрд╕рд░, рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдХреЛрдб рд▓реЛрдбрд┐рдВрдЧ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрдм рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдХрд┐рд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд░реЛрдмреЛрдХреЛрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рдЧреЗрдо рдЧреЗрдо рдореЗрдВ рдХрд╕реНрдЯрдо рдЯреИрдВрдХ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдПрдХ рдЕрд▓рдЧ рдЯреИрдВрдХ рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рджрд┐рдП рдЧрдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡реЗрджрди рд╕реЗ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд▓реЗрдЦ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрддрд░ рдкрд░ред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛрдб рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдмрд╛рдЗрдЯрдХреЛрдб рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдРрд╕реА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЛрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд░реНрддрд╡реНрдпреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╡рд░реНрдЧ рдХреЛрдб рдХрд╛ рдЪрдпрди рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред



рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдиреЗрдЯрд╡рд░реНрдХ / рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдмреВрдЯрд▓реЛрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдпрдЯреЗрдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА URLClassLoader рдореЗрдВ рдореМрдЬреВрджрд╛ рдХреЛ рднреА рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ URL рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ рдХрдХреНрд╖рд╛рдПрдВ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред



рдЯреНрд░реЗрдирд┐рдВрдЧ





рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЖрд╡реЗрджрди рдЬреЗрдЖрд░рдИ рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЗрдВрдЬрди рдХрд╛ рдПрдХ рдврд╛рдВрдЪрд╛ рд╣реЛрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдПрдХрд▓ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЧ рд╣реЛрдЧрд╛ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЙрдирдХреЗ рдЖрд╣реНрд╡рд╛рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣рд╛рдВ, рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдбрд╛рдпрдирд╛рдорд┐рдХ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ - рдЬрд╛рд╡рд╛ рд░рд┐рдлреНрд▓реЗрдХреНрд╢рди рдПрдкреАрдЖрдИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдФрд░ рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдХрд╕реНрдЯрдо рд▓реЛрдбрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:

1) рдХрд┐рд╕реА рднреА рд▓реЛрдбрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ java.lang.ClassLoader рд╡рд░реНрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП;

2) рдХрд┐рд╕реА рднреА рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореЙрдбрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирд╛рдирд╛;

3) java.lang.ClassLoader рд╡рд░реНрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рддреНрдпрдХреНрд╖ рд▓реЛрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ - рдбрд┐рдлрд╛рдЗрдВрдбрдХреНрд▓рд╛рд╕ (...), рдЬреЛ рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреЛ java.lang.Class рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ;

4) рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЦреЛрдЬ рддрдВрддреНрд░ рдХреЛ java.lang.ClassLoader рд╡рд░реНрдЧ рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ;

5) рд▓реЛрдбрд░ рдХреЗ рд╕рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдпрд╣ java.lang.ClassLoader рд╡рд░реНрдЧ рдХреЗ findClass () рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред



рдЙрдкрд░реЛрдХреНрдд рд╕реВрдЪреА рдореЗрдВ рдЕрдВрддрд┐рдо рдЖрдЗрдЯрдо рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдбрдХреНрд▓рд╛рд╕ () рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдХреНрд▓рд╛рд╕ рд▓реЛрдбрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рддрд╛рддреНрдкрд░реНрдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рд╣реИ:

1) рдХреИрд╢ рдореЗрдВ рдПрдХ рд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд░реНрдЧ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП findLoadedClass () рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ;

2) рдЕрдЧрд░ рдХреИрд╢ рдореЗрдВ рдХреЛрдИ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИ, рддреЛ GetParent ()ред рд▓реЛрдбрдХреНрд▓рд╛рд╕ () рдХреЛ рдкреИрд░реЗрдВрдЯ рд▓реЛрдбрд░ рдХреЛ рдмреВрдЯ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ;

3) рдпрджрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд▓реЛрдбрд░ рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд░реНрдЧ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ, рддреЛ findClass () рдХреЛ рд╕реАрдзреЗ рдХрдХреНрд╖рд╛ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред



рдЗрд╕рд▓рд┐рдП, рд▓реЛрдбрд░реЛрдВ рдХреЗ рд╕рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ - findClass () рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ред



рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди





рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд╣рд▓реЗ рд▓реЛрдб (рд▓реЛрдб) рдХрд░реЗрдВ, рдлрд┐рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (рд░рди рдХрд░реЗрдВ), рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЕрдирд▓реЛрдб (рдЕрдирд▓реЛрдб) рдХрд░реЗрдВред рдпрд╣ рдХреЛрдб рд╡рд┐рдХрд╛рд╕рд╢реАрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рд╣реИред рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЦреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рдЕрд▓рдЧ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд▓рд┐рдП * .jar рдореЗрдВ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



public interface Module {



public static final int EXIT_SUCCESS = 0;

public static final int EXIT_FAILURE = 1;



public void load();

public int run();

public void unload();



}



* This source code was highlighted with Source Code Highlighter .








рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣ рд▓реЛрдбрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╡рд░реНрдЧ рдХреЛрдб рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрде рдХреЛ рдкрдердЯреЛрдмрд┐рди рдЪрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

import java.io. File ;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;



public class ModuleLoader extends ClassLoader {



/**

* .

*/

private String pathtobin;



public ModuleLoader( String pathtobin, ClassLoader parent) {

super(parent);

this .pathtobin = pathtobin;

}



@Override

public Class<?> findClass( String className) throws ClassNotFoundException {

try {

/**

* -

*/

byte b[] = fetchClassFromFS(pathtobin + className + ".class" );

return defineClass(className, b, 0, b.length);

} catch (FileNotFoundException ex) {

return super.findClass(className);

} catch (IOException ex) {

return super.findClass(className);

}



}



/**

* www.java-tips.org/java-se-tips/java.io/reading-a-file-into-a-byte-array.html

*/

private byte [] fetchClassFromFS( String path) throws FileNotFoundException, IOException {

InputStream is = new FileInputStream( new File (path));



// Get the size of the file

long length = new File (path).length();



if (length > Integer.MAX_VALUE) {

// File is too large

}



// Create the byte array to hold the data

byte [] bytes = new byte [( int )length];



// Read in the bytes

int offset = 0;

int numRead = 0;

while (offset < bytes.length

&& (numRead= is .read(bytes, offset, bytes.length-offset)) >= 0) {

offset += numRead;

}



// Ensure all the bytes have been read in

if (offset < bytes.length) {

throw new IOException( "Could not completely read file " +path);

}



// Close the input stream and return bytes

is .close();

return bytes;



}

}



* This source code was highlighted with Source Code Highlighter .








рдЕрдм рдореЙрдбреНрдпреВрд▓ рд▓реЛрдбрд┐рдВрдЧ рдЗрдВрдЬрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдореЙрдбреНрдпреВрд▓ (.class рдлрд╝рд╛рдЗрд▓реЛрдВ) рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред



import java.io. File ;



public class ModuleEngine {



public static void main( String args[]) {

String modulePath = args[0];

/**

* .

*/

ModuleLoader loader = new ModuleLoader(modulePath, ClassLoader.getSystemClassLoader());



/**

* .

*/

File dir = new File (modulePath);

String [] modules = dir.list();



/**

* .

*/

for ( String module: modules) {

try {

String moduleName = module.split( ".class" )[0];

Class clazz = loader.loadClass(moduleName);

Module execute = (Module) clazz.newInstance();



execute.load();

execute.run();

execute.unload();



} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}





}



}



* This source code was highlighted with Source Code Highlighter .








рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдорд╛рдирдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдкрде рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрд▓рд╛рд╕ рдореЙрдбреНрдпреВрд▓ (рдПрдкреАрдЖрдИ) рдХреЗ рд╕рд╛рде CLASSICATH рдореЗрдВ рдлрд╝рд╛рдЗрд▓ред



public class ModulePrinter implements Module {



@Override

public void load() {

System. out .println( "Module " + this .getClass() + " loading ..." );

}



@Override

public int run() {

System. out .println( "Module " + this .getClass() + " running ..." );

return Module.EXIT_SUCCESS;

}



@Override

public void unload() {

System. out .println( "Module " + this .getClass() + " inloading ..." );

}

}



* This source code was highlighted with Source Code Highlighter .








рдЗрд╕ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХрд▓ рд╡рд░реНрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрде рдХреЛ рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдереЛрдбрд╝реА рд╡рд┐рдбрдВрдмрдирд╛ рд╣реИ



рдбрд╛рдпрдирд╛рдорд┐рдХ рдХреЛрдб рд▓реЛрдбрд┐рдВрдЧ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдзреЛрдЦрд╛ рджреЗрдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдФрд░ рдХрд╛рдиреВрдиреА рддрд░реАрдХрд╛;)



All Articles