首页 > 编程语言 >java动态编译

java动态编译

时间:2023-07-04 13:44:06浏览次数:36  
标签:info 动态 java 编译 run io import null

 

 

 

 

package src;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;

public class Demo01 {

	public static void main(String[] args) throws IOException {
		// 动态编译 
		JavaCompiler comp = ToolProvider.getSystemJavaCompiler();
		int result=comp.run(null, null, null, "D:\\codes\\javaProjects\\test\\Test.java");
		System.out.println(result==0?"运行成功":"运行失败");
		
		Runtime run = Runtime.getRuntime();
		Process process= run.exec("java -cp D:/codes/javaProjects/test Test");
		InputStream in= process.getInputStream();
		
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(in));
		String info = "";
		while((info=reader.readLine())!=null) {
			System.out.println(info);
		}
		
		
	}

}

  

标签:info,动态,java,编译,run,io,import,null
From: https://www.cnblogs.com/Mengchangxin/p/17525540.html

相关文章

  • Java JUI编程
    前言初学,虽然不常用了,但对于理解MVC很有帮助,顺带学一下把。1.简介核心技术是SwingAwt(Awt是Swing前身)需要学:窗口,弹窗,面板,文本框,列表框,按钮,图片,监听事件,鼠标,键盘。2.AWT2.1窗口Framenew一个Frame可以实现,也可以通过继承封装。publicclassMyFrameextendsFrame......
  • Java方法
    Java方法什么是方法1.方法是语句的集合2.设计方法的原则一个方法就做一件事方法的定义和调用修饰符返回值类型方法名(参数类型参数名){...方法体...return返回值}方法的重载1.同样的方法名通过调整参数的数量类型进行重载(跟返回值类型无关)、2.按......
  • Ubuntu源码编译安装Python3.8
    一、下载源码https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz二、编译参数--prefix:指定安装目录使用–prefix参数可以指定Python的安装目录,例如:./configure--prefix=/usr/local/python38这将把Python3.8安装在/usr/local/python38目录下。–enable-optim......
  • 2023春招面试题:Java并发相关知识
    1.基础知识回顾1.1什么是多线程?在没有线程的年代,在同一个进程中,程序的处理流程都是顺序的,下一个流程的开始必须等待上一个流程的结束,如果其中某一个流程非常耗时,那么会影响整个流程的处理时间cpu执行过程中并不是一个程序执行完之后cpu才切换,cpu时间片用完,就会切换到下个线程......
  • java http大文件断点续传上传组件
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。首先我们需要了解的是上传文件三要素:1.表单提交方式:post(get方式提交有大小限制,post没有)2.表单的enctype属性:必须设置为multipart/form-data.3.表单必须......
  • Java集合之Disruptor 介绍
    目录1Disruptor1.1简介1.1.1定义1.1.2Java中线程安全队列1.1.3Disruptor核心概念1.2操作1.2.1坐标依赖1.2.2创建事件1.2.3创建事件工厂1.2.4创建处理事件Handler--消费者1.2.5初始化Disruptor1.2.5.1静态类1.2.5.2配置类1.2.5.3Disruptor构造函数讲解1.2.6发布......
  • 初学者:8个JavaScript技巧
    有很多方法可以优化我们的JavaScript代码,本文总结了我在工作中经常使用的8个JavaScript技巧,希望它也能帮助你。减少使用if-else在编写两个以上的if...else时,是否有更好的优化方法?如下代码,我们需要根据一个汉堡包的名字来计算它的价格。constgetPriceByName=(na......
  • JavaScript中的if与switch的区别是什么?
    很多同学问我if和swicth的区别,今天我就从多个维度来和大家分析一下if与switch的区别到底是什么?1.语法结构:if语句:使用if关键字后接条件表达式,如果条件为真,则执行if块中的代码。switch语句:使用switch关键字后接一个表达式,根据表达式的值匹配相应的case标签,并执行对应的代码块。2.可读......
  • JavaScript中的if与switch的区别是什么?
    很多同学问我if和swicth的区别,今天我就从多个维度来和大家分析一下if与switch的区别到底是什么?1.语法结构:if语句:使用if关键字后接条件表达式,如果条件为真,则执行if块中的代码。switch语句:使用switch关键字后接一个表达式,根据表达式的值匹配相应的case标签,并执行对应的代码块。2.可读......
  • vscode不支持 java 1.8 问题
    vscode不支持jdk1.8问题,实际上是 vscode的部分java插件不支持java1.8有些插件要求jdk11以上,可降级避开,不过没必要有些插件要求jdk17以上可以同时安装两个版本的jdk,例如jdk1.8和jdk17在vscode的settings.json文件中,添加jdk配置,将java1.8设为默认"java.jdt.ls......