Articles of Java的

用ubuntu上的java串口识别

我试图用Java连接Ubuntu上的一个串行应用程序 在search和阅读资源之后,我在库中添加comm.jar和RXTXcomm.jar。 我使用下面的代码来确定comports。 在我的系统中有三个端口,但在ports.hasMoreElements()方法中显示为false。 请查看代码并帮助我。 String wantedPortName = "/dev/ttya"; ///dev/ttyS0 و /dev/ttyS1 نیز تست شد Enumeration portIdentifiers = CommPortIdentifier.getPortIdentifiers(); CommPortIdentifier portId = null; // will be set if port found while (portIdentifiers.hasMoreElements()) { CommPortIdentifier pid = (CommPortIdentifier) portIdentifiers.nextElement(); if(pid.getPortType() == CommPortIdentifier.PORT_SERIAL && pid.getName().equals(wantedPortName)) { portId = pid; break; } } if(portId == null) { System.err.println("Could […]

有趣的Shell输出:[01; 32mtestfile.txt [00m而不是testfile.txt

问题:当我使用ChannelShell发送命令时,我收到了“有趣”的字符输出,我想知道如何获得在PuTTY会话中看到的常规输出。 “搞笑”我的意思是我应该看到这个: testfile.txt 我看到这个: [01;32mtestfile.txt[00m 这与这个问题类似,除了答案不能满足我的需要。 答案是在ChannelShell上调用setPty(false) ,它完全移除了“伪terminal”,但我需要实时从ChannelShell获得输出。 以下是我正在做的一个例子: ChannelShell channel = (ChannelShell) session.openChannel("shell"); channel.setOutputStream(new PrintStream( new ByteArrayOutputStream(), true, "UTF-8") { @Override public void write(byte[] b, int off, int len) { super.write(b, off, len); String output = new String(b, off, len); System.out.print(output); sendNextCommand(output); //Execution of the next command depends on the output here, this is […]

用JAVA更改UNIX密码

对不起,如果我的英语是如此糟糕。 我想问一下从Java执行“passwd”命令(我使用Netbeans IDE和JSCH库) 这是我的代码 String username = txtusername.getText(); String password = txtpassword.getText(); String ip = txtIP.getText(); int port = 22; Session session = null; Session session2=null; ChannelExec channel = null; Channel channel2 = null; StringBuffer result = new StringBuffer(); try { JSch shell = new JSch(); session = shell.getSession(username, ip, port); java.util.Properties config = new […]

Linux启动时启动java程序(EC2实例)

我的服务器程序需要在启动EC2实例时启动。 在即时通讯只是从我的SSH启动它与以下命令: java -jar ~/DocumentManager/DocumentServer-0.2.jar 我试图将这添加到.bashrc和/etc/rc.local文件,但他们似乎只有当我ssh进入工作。 任何人都知道如何做到这一点,所以我的应用程序的实例是在计算机启动时启动的? 谢谢, 本

从Java Web应用程序访问Linux本地文件系统

我们在一个web应用程序里面使用了一个java库,它是在Apache服务器中托pipe的.ReadConfFile方法在库中返回文件时找不到错误。方法如下 public byte[] ReadConfFile() { try { File file = new File("/home/product/api/conf.txt"); if(!file.exists()) return "file not found".getBytes(); byte[] buf = new byte[(int) file.length()]; FileInputStream fis = new FileInputStream(file); fis.read(buf); return buf; } catch (IOException e) { e.printStackTrace(); return null; } } 是否允许从Web应用程序访问本地文件系统? 如果是,那么是否有必须设置的访问权限?

编码cp-1252为utf-8?

我正在尝试编写一个将在Linux服务器上运行的Java应用程序,但是它将使用cp-1252作为字符集来处理旧版Windows计算机上生成的文件。 反正有编码这些文件为utf-8而不是它生成的cp-1252?

Log4j不会在删除时重新创build文件

我在Tomcat中有一个使用log4j进行日志logging的Web应用程序。 如果在Web应用程序运行时删除日志文件,则不会重新创build文件? 如何configurationlog4j重新创build删除文件,而不必重新启动Tomcat?

Java透明窗口

我正在尝试创build一个跟随鼠标的圆形窗口,并将点击传递给底层窗口。 我正在用Python和Qt(请参阅Python覆盖窗口 )做这个,但后来我切换到Java和Swing。 但是,我无法使窗口透明。 我试过这种方法,但它不起作用,但我认为我的系统支持透明度,因为如果我启动Screencast-O-Matic (这是在Java中),矩形实际上是透明的。 我怎么能做到这样的事情? (我在Linux KDE4上)

在java中执行linuxterminal命令?

我试图从Java执行SOX命令,但不幸的是,它每次都返回一个错误。 其他每个SOX命令都可以正常工作! 这里是代码: class Simple { public static void main(String args[]) throws IOException, Exception { Process p; BufferedReader br; String co = "sox speech_16.wav -p pad 0 2.5 | sox – -m speech_16.wav speech_output.wav"; p = Runtime.getRuntime().exec(co); br = new BufferedReader(new InputStreamReader(p.getInputStream())); int returnCode = p.waitFor(); System.out.println("reurn code : "+returnCode); } } 当我在terminal执行相同的sox命令时,它的工作正常。 我真的不明白是什么问题! 是因为“|” […]

如何将.java或.jar文件转换为Linux可执行文件(没有.jar扩展名,这意味着它不是.jar文件)

我一直在寻找许多类似的post,但我仍然无法find我的答案。 我想将一个.java程序转换成一个Linux可执行文件,没有.jar扩展名。 我该怎么做? 我正在尝试使用Launch4j java包装,JWrapper,IzPack,制作一个.sh,制作一个.bat,使用java -jar myFile.jar等来运行它,但是它们都没有工作。 有些程序很复杂,很难debugging。 有没有简单的方法将.java文件或.jar文件转换为Linux可执行文件? 我需要将这个程序作为一个Linux可执行程序整体传递给另一个以此程序为参数的程序。