Tag: 终端

如何通过Java文件运行adb命令?

我编写了以下代码,无法弄清楚如何解决错误。 不确定这些信息是否有用,但我使用的是Mac并使用编辑器IntelliJ。 public class TestCode { public static void main(String[] args) throws Exception { Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(“adb devices”); } } 结果是“线程中的exception”主“java.io.IOException:无法运行程序”adb“:error = 2,没有这样的文件或目录” 但是,当我从终端运行命令“adb devicees”时,我得到了连接到我的计算机的设备列表。 对于那些感兴趣的人,以下是完整的堆栈跟踪。 Exception in thread “main” java.io.IOException: Cannot run program “adb”: error=2, No such file or directory at java.lang.ProcessBuilder.processException(ProcessBuilder.java:478) at java.lang.ProcessBuilder.start(ProcessBuilder.java:457) at java.lang.Runtime.exec(Runtime.java:593) at java.lang.Runtime.exec(Runtime.java:431) at […]

将System.in重定向到swing组件

嘿伙计我正在使用Swing和Apache Commons制作终端应用程序。 我能够轻松地将System.out和System.err重定向到JTextArea但是我如何为System.in做到这一点? 我是否需要覆盖Inputstream方法? 我是否需要将String从JTextArea转换为字节数组,然后将其传递给InputStream ? 代码示例会很好。

Sublime Text 2构建系统,用于在新的终端/命令提示符窗口中编译和运行Java?

我想在Sublime Text 2中创建一个编译Java文件的构建系统,然后在新的终端(用于OS X或Linux)或命令提示符(用于Windows)窗口中运行它。 原因是因为Sublime Text 2不允许用户输入任何内容,因此任何需要输入的程序在Sublime Text 2中运行时都会发出错误,如下所示: 这是我目前拥有的(我也尝试过批处理文件),但它只是在Sublime Text 2中运行,而不是在新的shell中运行: 这可能吗? 如果是这样,请逐步解释(我是Sublime Text 2的菜鸟),该怎么做; 我已经尝试在Sublime Text 2论坛上发帖了,到目前为止还没有运气! 我无法形容地感激不尽。 谢谢你的时间!

汉字在Mac终端显示为问号

我试图使用Java文件从数据库中检索一些UTF-8单编码中文字符。 当我这样做时,字符将作为问号返回。 但是,当我显示数据库中的字符时(使用select * from … ),字符会正常显示。 当我在包含中文字符的Java文件中打印字符串时,它们也会正常打印。 我在Eclipse中遇到了这个问题:当我运行程序时,字符被打印为问号。 但是,当我以UTF-8格式保存Java文件时,此问题得以解决。 在终端中运行“locale”当前返回: LANG=”en_GB.UTF-8″ LC_COLLATE=”en_GB.UTF-8″ LC_CTYPE=”en_GB.UTF-8″ LC_MESSAGES=”en_GB.UTF-8″ LC_MONETARY=”en_GB.UTF-8″ LC_NUMERIC=”en_GB.UTF-8″ LC_TIME=”en_GB.UTF-8″ LC_ALL= 我也尝试使用这个编译我的java文件: javac -encoding UTF-8 [java file] 但是,输出仍然是问号。 奇怪的是它有时只会显示角色。 有没有人对此有解释? 或者甚至更好,如何解决这个问题,以便正确显示字符?

从命令行启动Minecraft – 用户名和密码作为前缀

我正在尝试制作一个简单的定制Minecraft发射器的东西。 根据Launcher的Minecraft Wiki页面 ,应该可以使用命令行中的用户名和密码前缀运行Minecraft启动器,直接进入游戏而不是通过启动器。 我已经尝试了各种版本的java -cp -u=username -p=password minecraft.jar net.minecraft.LauncherFrame ,它说的是旧方法: java -cp minecraft.jar net.minecraft.LauncherFrame 旧方法打开了Minecraft启动器,就好像我双击了jar文件一样,但它没有直接进入菜单屏幕。 新的方式(使用密码和用户名作为前缀),给我一条错误消息,说prefix -u=username or -p=password don’t exist 。 对此有何帮助? 我真的被卡住了。

如何使用终端创建.jar文件

我正在尝试使用mac终端创建一个.jar文件但是有点麻烦。 我按照这里的步骤,但没有成功。 我收到此错误消息: Failed to load Main-Class manifest attribute from aclient.jar 那你究竟是怎么做的呢? 我的java程序叫做Main.java,我把它编译成.class文件。 现在我该怎么办? 谢谢

通过telnet发送数据而无需按Enter键

我最近开始搞乱Java套接字和telnet …… 我希望用户能够连接到服务器,只需键入一个字母并将其发送到服务器,而无需按Enter键发送它。 我确定服务器没有办法设置它,但也许telnet有一个参数或什么可以允许这个? 也许如果我让用户在运行telnet之前键入stty cbreak或stty raw ,这可行吗? (仅限UNIX,我知道!) 如果我可以通过telnet来执行此操作,那么我将不得不为此function编写一个特殊的客户端…

从Java执行外部程序

我正在尝试从Java代码执行程序。 这是我的代码: public static void main(String argv[]) { try { String line; Process p = Runtime.getRuntime().exec( “/bin/bash -c ls > OutputFileNames.txt”); BufferedReader input = new BufferedReader( new InputStreamReader(p.getInputStream())); while ((line = input.readLine()) != null) { System.out.println(line); } input.close(); } catch (Exception err) { err.printStackTrace(); } } 我的操作系统是Mac OS X 10.6。 如果我从getRuntime().exec()方法中删除”> OutputFileNames.txt” ,则所有文件名都会在控制台上打印出来。 但我需要将它打印到文件中。 另外,如果我将命令更改为: […]