首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将控制台输入传递给正在运行的Java程序而不是jdb?

要将控制台输入传递给正在运行的Java程序而不是jdb,您可以使用以下方法:

  1. 使用System.in对象:

在Java程序中,您可以使用System.in对象从控制台读取输入。System.in是一个InputStream对象,您可以使用BufferedReaderInputStreamReader来读取输入。

示例代码:

代码语言:java
复制

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class ConsoleInput {

代码语言:txt
复制
   public static void main(String[] args) {
代码语言:txt
复制
       BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
代码语言:txt
复制
       System.out.println("请输入一些文本:");
代码语言:txt
复制
       try {
代码语言:txt
复制
           String input = reader.readLine();
代码语言:txt
复制
           System.out.println("您输入的文本是:" + input);
代码语言:txt
复制
       } catch (IOException e) {
代码语言:txt
复制
           e.printStackTrace();
代码语言:txt
复制
       }
代码语言:txt
复制
   }

}

代码语言:txt
复制
  1. 使用Scanner类:

您还可以使用Scanner类从控制台读取输入。Scanner类提供了一种简单的方法来读取和解析输入。

示例代码:

代码语言:java
复制

import java.util.Scanner;

public class ConsoleInput {

代码语言:txt
复制
   public static void main(String[] args) {
代码语言:txt
复制
       Scanner scanner = new Scanner(System.in);
代码语言:txt
复制
       System.out.println("请输入一些文本:");
代码语言:txt
复制
       String input = scanner.nextLine();
代码语言:txt
复制
       System.out.println("您输入的文本是:" + input);
代码语言:txt
复制
   }

}

代码语言:txt
复制

这些方法可以帮助您从控制台获取输入并将其传递给正在运行的Java程序。请注意,这些方法不会与jdb冲突。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

jdk文件bin目录中各种工具作用(javacjavapjavajarjstatjvadoc等)

注意:JavacTest.java是一个首行标注了packagejava文件,此时它在硬盘上目录并未对应它包名,所以,使用java com.stopTalking.test.JavacTest运行时是无法找到该...产生文件如下图所示,功能还是挺强大,当然使用doclet也可以自定义doc格式。       六:jdb:     Java调试器,可以逐行地执行程序、设置断点和检查变量。    ...等待正在运行 VM 使用标准连接器在指定地址处连接     -listenany                                            等待正在运行 VM 使用标准连接器在任何可用地址处连接...    -launch                                                立即启动 VM 不是等待 'run' 命令     -listconnectors...‘     进入jdb后,输入各种参数进行调试。在此期间会启动 vm(虚拟机)执行这段代码! ?

2.2K20

高效开发:IntelliJ IDEA天天用,这些Debug技巧你都知道?

运行jdb Test 命令之后,程序这时并没有运行起来,而是停在那里等待进一步命令。...如果没有源码,虽然在 jdb 里也可以用 step 来单步,但是没有办法显示当前正在运行代码,这简直就是盲调。...4.1 JPDA 我们知道,Java 程序都是运行在 JVM 上,我们要调试 Java 程序,事实上就需要向 JVM 请求当前运行状态,并对 JVM 发出一定指令,或者接受 JVM 回调。...方式来启动程序,socket 方式需要指定一个端口号,调试器通过该端口号来连接它,共享内存方式需要指定一个连接名,不是端口号。...由于调试器本身干扰,程序已经不是以前程序了。所以问题来了,在调试器下运行出来结果,真的可信吗? 下面是我想出来一个有趣例子,假设我们在第 4 行下一个断点,程序最后输出结果会是什么呢? ?

2.4K11
  • Android逆向分析大全

    d -d input.apk -o out,加上-d选项之后反编译出文件后缀为.java不是.smali,每个.java文件立马都伪造成了一个类,语句全都是“a=0;”这一句,smali语句成为注释...,前提是apktool可以成功反编译 image 使用jdb调试 jdb是一个支持java代码级调试工具,它是由java jdk提供,可以设置断点、查看堆栈、计算表达式、动态修改类字节码、调试...此处Android RunTime既指DVM RunTime又指ART RunTime,因此不管是运行dalvik虚拟机还是运行本地代码art均可以使用gikdbg.art进行程序二进制调试分析。...不同之处在于dalvik虚拟机运行时只能调试so动态库,art运行时不仅能调试so动态库,还能调试系统镜像oat,可执行程序dex这样文件。.../data/data/com.qihoo360.mobilesafe/com.qihoo360.mobilesafe/files/so_libs/um.0.2,并将弹窗任务以参数形式传递给程序程序中对

    3.4K41

    Java入门知识大全

    甚至于,由于混合编程流行,使用js和ionic这样框架开发app也不是多复杂事情。 如果只是开发上层应用,java无疑是比较好选择。...此外,编写健壮java程序相对而言是容易同样逻辑用c或者c++程序来开发要复杂多,单是关于内存问题就够让人头痛了。...javac hello.java & java hello,这样可以运行起来了。主要执行时候是java hello,不是java hello.class。...那么在a.java和b.java开头,都要添加代码package test;。然后进行编译,输入javac test/*.java。最后执行时候,只要输入java test/hello即可。...9、jdb调试 还是以刚才hello程序为例,开始时候输入jdb hello,接着输入stop in hello.main,最后输入run。

    70920

    Java学习笔记-Java简介

    12.0.2 Mac:打开~/.bash_profile,然后加入 JDK 目录,如 export JAVA_HOME=/usr/libexec/java_home -v 13 测试是否安装成功,控制台输入以下命令...image JDK 中常用可执行文件 java:即 JVM,运行程序时,其实就是启动 JVM,然后让其执行指定编译后代码; javac:Java 编译器,用于将源码文件(.java后缀结尾)编译为字节码文件...(.class后缀结尾); jar:用于将一组.class打包成为.jar文件,便于发布; javadoc:用于从源码中自动提取注释并生成文档; jdb:调试器,用于开发阶段调试运行; 第一个 Java...; } } 控制台如何运行 Java 程序 打开源代码所在目录,以Hello.java为例,然后按顺序执行如下代码(注意:类名应该与文件名相同); $ javac Hello.java $ java...image 小结 一份源码中只能定义一个public类型class,且class名与文件名要完全一致; javac可以将 .java源码编译为.class字节码; java用于运行一个编译后程序,参数为类名

    57510

    Java值调用

    仅仅根据上面的实验就给值传递,引用传递下这样结论是不是太草率了?...它是用来规定程序语言在方法、函数或过程调用时参策略,是在程序语言设计时就应该考虑问题。下面的这几个调用方式都属于求值策略。...值调用:在值调用中,实际参数被求值后传递给被调函数。也就是说值调用是实参在被传给函数之前就被求值一种求值策略。 在Java体现 那什么叫实参在被传给函数之前就被求值呢?求是谁值呢?...如果我们想表达引用类型传递是引用,仅仅是想说是引用不是别的东西的话,我们可以说明确点:引用类型是引用,和程序语言中求值策略不沾边 。...引用调用(Call by reference) 在“引用调用”求值中,传递给函数是它实际参数隐式引用不是实参拷贝。通常函数能够修改这些参数(比如赋值),而且改变对于调用者是可见

    3.5K20

    quarkus数据库篇之二:无需数据库也能运行增删改查(dev模式)

    进入目录quarkus-tutorials/basic-db,执行命令mvn quarkus:dev启动应用,控制台输入如下 [INFO] Nothing to compile - all classes...,目前控制条已经处于命令行交互模式,先输入o开启测试日志输出开关 然后再输入r开始执行单元测试,控制台输出如下,可见和上一篇操作并没有什么区别(还省去了数据库部署和配置) 至此,Zero Config...就无法满足我们需求了,这里可以通过配置来指定MySQL配置信息(个人感觉,就是为了解决一个问题引入了新问题) quarkus.datasource.devservices.container-properties.TC_MY_CNF...估计是quarkus自己内部处理机制吧,例如自动rollback,或者某些程度可见性隔离等,这都是猜,亲爱读者,如果您知道了原因,麻烦您在回复中指点一二,谢谢了 其实这也不是什么问题,不去查那个表就行了...,单元测试读写功能是正常,也就是说单元测试中,数据发生变化后程序可以读取到变化后数据,只是我们用工具看不到变化而已(官方文档也没有提及用工具去连接那个表,应该是不推荐这么做) 至此,quarkus

    75950

    IDA动态调试so源码 F5伪代码查看

    ,找准时机dump出正确真实.so文件,动态调试只不过是手动脱壳一种表现方式。...,在debug options中设置一下,后面会有实战部分; 5.adb forward tcp:8700 jdwp:进程号;(jdwp是后面jdb调试器协议,转换到待调试指定应用程序); 6.jdb...反附加,在这块重要是说jdb反附加,很多情况下jdb会附加不上,就是会出现“无法附加到目标的VM”这样问题那是因为在每个应用程序下,有这个android:debuggable="true"才能调试...这一步很重要在Debugger option下面选择这三个选项(让在load so每个接口处停下来) 6.jdwp协议端口转发 7.jdb附加 8.F9执行,忽略提示框;这时候运行到linker...执行一路取消就OK,得到如图所示: 是不是很简单??

    3.2K01

    Java中真的只有值传递么?

    我觉得有点偷换概念,没错,大家都知道引用类型传递是引用值,但你不能因为传递是值就说是值传递,不值还能什么?引用是内存地址,不是也得用值表示么?...其实Java参数传递严格意义上说应该是按共享传递。 按共享传递,是指在调用函数时,传递给函数是实参地址拷贝(如果实参在栈中,则直接拷贝该值)。...最后说java是值传递,而这个值是对象引用。 看到这明白了么? 地址就是引用,那是不是可以说java是引用传递了?...传递是引用值,计算机中不全是值吗,不是值还能是什么,说是引用传递是侧重点不同,传过去就是地址就是引用,引用不用值表示用啥 这里说不是一个概念,说基本类型是值,这个是值变量本身值,说对象传也是值...,这个值说是引用是地址,说对象说是引用传递,侧重点在于说是地址,指向对象所代表内部属性地址,非对象所表示内部属性值,为是和基本类型直接值区分开。

    1.1K20

    从IDA动态调试方法到ARM三级流水线分析到实操

    5)并勾选三项调试 6)F9启动+执行jdb调用DDMS jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8600 此时可以看到加载不是...JNI_onload了 3)接下来下一个断点:点击或F2 4)F9运行后跳转到断点截断处,此时回到Modules继续搜索java: 此时就出现需要调试so库文件:libjavandk1.so库文件...当该位为1时,程序运行于THUMB状态,否则运行于ARM状态。该信号反映在外部引脚TBIT上。在程序中不得修改CPSR中TBIT位,否则处理器工作状态不能确定。...,并将第三条指令从存储器中取出 所以,ARM7流水线只能在取第4条指令时,第1条指令才算完成执行 无论处理器处于何种状态,程序计数器R15(PC)总是指向”正在取指“指令,不是指向”正在执行“指令或者正在...) R15(PC)总是指向”正在取指“指令,不是指向”正在执行“指令或者正在”译码“指令。

    1.9K20

    Java开发环境配置Vscode搭建

    JDK简介 JDK,全称 Java Development Kit,是整个 Java 核心,包含 Java 运行环境、Java 工具以及 Java 基础类库。...; javadoc:文档生成器,从源码注释中提取文档; jdb:debugger,检查错误、调试工具; java运行编译后 java 程序(文件后缀.class); appletviewer:小程序浏览器...,用于执行 HTML 文件上 Java程序; Javah:产生可以调用 Java 过程 C 程序,或建立能被 Java 程序调用 C 过程头文件; Javap:Java 反编译器,显示编译类文件中可访问功能及数据...在Oracle官网下载涉及到账号注册,也可访问 这里 快速下载,提取码:peng 下载好后,双击程序运行 所有操作无需更改,继续下一步即可 复制JDK安装路径。...; } } 单击左侧调试图标,生成 launch.json 文件 因为已经安装Java开发插件,直接点击 Run 便可在控制台看到输出结果 配置已完成,希望能帮到大家!

    1.7K30

    android题目 AliCrackme分析

    在IDA中 使用快捷键G跳转到地址位置,也就是要调试函数位置 按F2打断点,按F8继续运行(F8单步调试不进入函数F7单步调试进入函数 然后发现app直接崩溃了,应该是有反调试 修改应用为...字段就不为0,只要是不为0时候,就会直接退出程序,达到反调试目的。...设置未捕获java.lang.Throwable 设置延迟未捕获java.lang.Throwable 正在初始化jdb... > 3.搜索crackme.so,在jni_onload上下断点...apktool d 自毁程序密码_1.0原版.apk -o 1 替换so文件 打开1/dist目录给打包app签名 java -jar uber-apk-signer-1.1.0.jar -a 自毁程序密码...正常启动app 打开IDA进行调试,给check函数下断点,在断点停下了 按F5,查看v6值发现是aiyou,bucuoo 在输入框中输入

    75440

    进行代码调试基本方法有哪些?

    JDK 包含了一个命令行调试器 Jdb,结合一个类名来调用该命令。 Jdb 本身也是一个 Java 程序运行本身一个 Java 解释器拷贝。...2.4、调试工具具备特性 所有的 Java IDE 工具,比如 Eclipse 和 NetBeans 包含集成调试器。调试器应用让你可以跟踪一个程序执行。...跟踪进入或者一步运行过一个方法:如果一个方法正在被执行,你可以让调试器跟踪进入方法内部,并且一次执行方法里面的一条语句,或者你可以让调试器一步运行过整个方法。...如果你知道方法是可行,你应该一次运行过整个方法。比如,通常都会一步运行过系统提供方法,比如,System.out.println。 设置断点:你可以在一条特定语句上面设置断点。...现在我们常见代码调试工具多集成到了开发 IDE 中,如 Eclipse 和 IDEA。同时给大家引入了如何使用 Eclipse 进行断点调试,作为拓展你会使用 IDEA 进行代码调试吗?

    1.1K40

    2021 最新版 JDK 1.8 下载与安装 步骤演示 (图示版)

    java应用程序开发包,它提供编译,运行java程序所需要各种工具和资源,包括java编译器,java运行时环境,以及常用java类库等。...JVM Java Virtual Machine,Java虚拟机,JRE包含JVM。JVM是运行java程序核心虚拟机,还需要其他类加载器,字节码校验器,以及大量基础类库。...JRM除了包含JVM之外,还包含运行java程序其它环境支持。...0.2 JDK基本组件 javac – 编译器,将源程序转成字节码 jar – 打包工具,将相关类文件打包成一个文件 javadoc – 文档生成器,从源码注释中提取文档 jdb – debugger...,查错工具 java运行编译后java程序(.class后缀) appletviewer:小程序浏览器,一种执行HTML文件上Java程序Java浏览器。

    2.1K10

    【JavaSE专栏73】字符输出流Writer,将字符数据输出至目标

    主打方向:Vue、SpringBoot、微信小程序 本文讲解了 Java 中 字符流 Writer 类语法,介绍了 Writer 类应用场景,并给出了样例代码,Java 字符输出流用于将字符数据写入输出目标...运行上述代码后,将会在当前目录下生成一个名为 output.txt 文件,其中包含了 Hello, World! 这个字符串。...它可以用于构建客户端和服务器之间通信通道,发送文本消息、文件数据等。 控制台输出:字符输出流可以将字符数据输出到控制台,供用户查看。这在命令行程序控制台应用程序中非常常见。...这样,通过字符输出流写入字符数据将会追加到已有的文件末尾,不是覆盖原有的内容。...---- 五、总结 本文讲解了 Java 中 字符流 Writer 类语法,介绍了 Writer 类应用场景,并给出了样例代码,在下一篇博客中,将讲解字节输入流 InputStream 用法。

    32410

    Java那些年系列-启航篇 03】JDK、JRE和JVM之间是什么关系?

    JVM是Java运行时环境一部分,它使得Java程序能够在任何安装了JVM操作系统上运行不需要对代码进行修改。...内存管理 JVM自动管理程序内存,包括对象创建和垃圾回收。这减轻了开发者负担,让他们可以专注于程序逻辑不是内存管理。...JVM提供了Java程序运行环境,Java类库则提供了丰富功能和工具,使得开发者能够更方便地开发Java程序。...JRE与JDK关系:JRE是JDK一部分,JDK包含了JRE以及Java开发工具。JDK是开发Java程序主要工具包,JRE则是运行Java程序所必需运行时环境。...综上所述,JDK、JRE和JVM是Java平台三个重要概念,它们之间关系紧密而有序。JDK包含了JRE和Java开发工具,JRE包含了JVM和Java类库,JVM则是Java程序核心运行环境。

    35810
    领券