我已经在Java中完成了很多IO,在寻找将原语转换为字节数组的代码后,我java.io.Bits在其中一个Java源代码托管网站上找到了源代码.快速浏览后,我意识到这正是我需要的,除了它的包私有.所以我制作了一份我公开的副本,存储在我的项目包中并使用(仅在个人项目中,我向你保证).我发现它非常有用.
我的问题是,为什么这个包是私有的?我可以看到它对于使用IO工作的人来说非常有用,我认为将它的可见性改为public(在rt.jar中)没有任何不利之处.或者是否有一个等价物(请不要提及其他库)?
这是一个随机选择的网站的链接,该网站有以下Java源代码java.io.Bits:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/io/Bits.java
我通过以下URL浏览了StreamGobbler
我理解它的用法和原因.但是,所涵盖的场景只是那些可能存在来自命令/处理错误的输出的场景.
我没有找到使用StreamGobbler来处理输入的任何场景.例如,在mailx,我必须指定电子邮件的正文,我已按以下格式完成
Process proc = Runtime.getRuntime().exec(cmd);
OutputStreamWriter osw = new OutputStreamWriter(proc.getOutputStream());
osw.write(mailBody);
osw.close();
Run Code Online (Sandbox Code Playgroud)
如何通过StreamGobbler处理,或者不需要通过它处理它.
我是Java我可以写这个:
Matcher m;
while ((m = pattern.matcher(string)).matches()) {...}
Run Code Online (Sandbox Code Playgroud)
我如何在Scala中执行此操作?这不起作用:
var m: Matcher = null
while ((m = pattern.matcher(s)).matches()) {}
Run Code Online (Sandbox Code Playgroud) 我是javax.swing.*包的新手,只熟悉 c#.net。我有即两个JFramesfrmLogin和frmMain分别。我想要做的只是一个简单的代码,如下所示:
+----- C# 版本---------
this.hide();
new frmMain().ShowDialog();
this.show();
tbPsswrd.Text = String.empty;
Run Code Online (Sandbox Code Playgroud)
+---- JAVA 版 -------
this.setVisible(false);
new frmMain().setVisible(true);
this.setVisible(true);
tbPsswrd.Text = "";
Run Code Online (Sandbox Code Playgroud)
+----------------------------
在 Java JFrame 中,只有show()和setVisible(boolean isVisible)可用,因此即使我没有完成frmMain(),它也会继续执行旁边的其余代码(即显示父表单并清空密码框)。
总而言之,我想要一个等效的方法功能,.showDialog();不仅仅是.show();
为了它不会继续下一个代码,除非我关闭子窗体。
提前致谢!ü
java ×3
jframe ×1
outputstream ×1
private ×1
public ×1
runtime.exec ×1
scala ×1
swing ×1
while-loop ×1