1

以下のメソッドを使用して、NewFile.java というファイルを実行しています。

thisMethod.invoke(instance,(Object)m); NewFile.java を自動的に実行し、[存在する場合] 結果をコンソールに出力します。実行結果を文字列で取得できる方法はありますか

注意: (String) thisMethod.invoke(instance,(Object)m); として型キャストします。うまくいきませんでした..nullを返します。

public static void runIt(String fileToCompile,String packageName) throws ClassNotFoundException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException, SecurityException, NoSuchMethodException
        {
            File file = new File(fileToCompile);

            try
            {
                URL url = file.toURL(); // file:/classes/demo
                URL[] urls = new URL[] { url };
                ClassLoader loader = new URLClassLoader(urls);
                Class<?> thisClass = classLoader.loadClass("NewFile");
                Object newClassAInstance = thisClass.newInstance();
                Class params[] = new Class[1];
                params[0]=String[].class;
                Object paramsObj[] = {};
                String m=null;
                Object instance = thisClass.newInstance();
                Method thisMethod = thisClass.getDeclaredMethod("main", params);
                r2+="method = " + thisMethod.toString();
                String methodParameter = "a quick brown fox";
               thisMethod.invoke(instance,(Object)m);

            }
            catch (MalformedURLException e)
            {
            }

        }
4

1 に答える 1