小编Ber*_*era的帖子

传递参数从java程序到bash脚本,用参数调用另一个java程序

我想在我的java程序中执行一个shell脚本,传递一个参数如下:

Runtime.getRuntime().exec("./test.sh " + "\\\"param1\\\"\\\"param2\\\"\\\"param3\\\"");
Run Code Online (Sandbox Code Playgroud)

test.sh将调用另一个java程序传递字符串参数,如下所示:

another.jar \"param1\"\"param2\"\"param3\"
Run Code Online (Sandbox Code Playgroud)

最后,程序anther.jar将以这种格式解释参数

another.jar "param1""param2""param3"
Run Code Online (Sandbox Code Playgroud)

我有点混淆这种情况,因为在这种情况下,我无法正确处理逃脱字符.kkk

我在第一个命令中尝试了一些字符串格式,但是我没有得到正确的格式.

一些帮助就好了!

谢谢!

java parameters bash arguments escaping

1
推荐指数
1
解决办法
4419
查看次数

这个问题的最佳设计模式

我需要构建各种命令并将它们作为参数传递给另一个程序.

这些命令共享一些信息和格式,但参数的数量不同.

例如,对于CRUD操作,我可能会生成以下命令字符串:

"create""host_ip""database""user_id""profile""personal_data1""personal_data2""personal_datan"
"retrive""host_ip""database""user_id"
"update""host_ip""database""user_id""personal_data1""personal_data2""personal_datan"
"delete""host_ip""database""user_id"
Run Code Online (Sandbox Code Playgroud)

我相信有更聪明的方法可以做到这一点并通过在这个神奇的网站上分享它,我可能会做得更好.

java command design-patterns

1
推荐指数
1
解决办法
346
查看次数

捕获的System.out.println或stdout数据摆动备忘录(海量数据)

嗨我需要使用System.out.println在备忘录中显示结果,但是不能将stdout放在列表中,例如在swing备忘录中显示此列表的内容后因为我需要显示每一行结果的实时或显示的结果.

我认为在一些像System.out.println的观察者一样工作的东西,当在控制台中打印了一些数据或信息时,我希望能够捕获它并显示在备忘录中.

为了更好地理解,我在unix服务器中远程执行一些命令,并在stdout中检索这些命令的结果,并用它们计算一些时间和指标,我肯定需要这样做来模拟远程应用程序的行为.

解决方案可以是在备忘录中生成的确切时间内显示备忘录中列表中的每一行或每个项目的方法.

摇摆备忘录可以处理超过500kb或超过1MB的大字符串?

因为在我的ID中的sdtout中打印的整个结果非常大.

谢谢

java string swing stdout list

1
推荐指数
1
解决办法
3049
查看次数

Wicket:DropDownChoice项目选择事件的更新模型

我需要在选择DropDownChoice项后立即更新模型或对象.

贝娄是我正在工作的代码:

add(new ListView[Company]("listCompanies", listData) {

    override protected def onBeforeRender() {
      //
      // ...
      super.onBeforeRender()
    }

    def populateItem(item: ListItem[Company]) = {
      var company = item.getModelObject()

      //...

      val listClients: java.util.List[Client] = clientControler.listClients


      item.add(new DropDownChoice("clientSelection", listClients,new ChoiceRenderer[Client]("name")))
Run Code Online (Sandbox Code Playgroud)

在具有Company Object属性的Listview中,在选择DropDownChoice的name属性后,将更新模型Company并选择Client Name.

我怎样才能做到这一点?

谢谢

java wicket scala

0
推荐指数
2
解决办法
7137
查看次数

在一个SSL套接字连接中使用两个私钥(密钥库)和两个公钥(信任库)

我需要在一个套接字ssl连接中使用密钥对,而不会在客户端中进行任何更改.

为什么?

因为一个客户端在信任存储区中使用CN属性进行连接握手,而在同一属性中使用另一个值以同一方式处理相同任务的其他客户端.

所以我需要使用具有不同CN属性的两个密钥存储(私有)以及别名并共享具有不同CN属性的两个不同信任存储(公钥)以及别名.

描述如下:

keyStore1

密钥库类型:JKS

密钥库提供商:SUN

别名:identity1

所有者:CN = app1 ...

发行人:CN = app1 ......

trustStore1

别名:identity1

所有者:CN = app1 ...

发行人:CN = app1 ......

keyStore2

别名:identity2

所有者:CN = app2 ...

发行人:CN = app2 ......

trustStore2

别名:identity2

所有者:CN = app2 ...

发行人:CN = app2 ......

我尝试以这种方式实现此功能:

    KeyStore KeyStore1;

                try {
                    String keyStoreFile1 = "privatekey1";
                    String keyStoreType1 = "jks";
                    char[] keyStorePwd1 = "password".toCharArray();

                    keyStore1 = …
Run Code Online (Sandbox Code Playgroud)

java sockets ssl keystore

-2
推荐指数
1
解决办法
2万
查看次数

匹配两个巨大的csv文件之间的公共ID

我需要比较两个巨大的csv文件和一千个像bellow这样的条目:

id;val

1;a
2;b 
3;c
Run Code Online (Sandbox Code Playgroud)

Ans第二个文件具有以下结构

id1;entry    
1;002
2;x90 
5;d07
Run Code Online (Sandbox Code Playgroud)

期望的结果是匹配并组合具有相同id/id1值的行,并创建第三个csv文件,其中只有匹配的条目显示如下:

idR;valR;entryR
1;a;002
2;b;x90 
Run Code Online (Sandbox Code Playgroud)

为此,我可以在不同的数据库表中加载每个文件,并执行类似这样的选择以检索所有匹配的值:

select tb1.id, tb1.val tb2.entry 
  from tb1, tb2
 where tb1.id = tb2.1   
Run Code Online (Sandbox Code Playgroud)

我可以用这种方法检索所需的所有值.

但是我们假设这些文件可以被排序,并且以这种方式使用它可以使用awk来打印具有相同id和id1值的条目的结果.我能做的最好的事情是为每个值创建两个关联数组,并使用awk和sed/cut执行二进制搜索?

可以加载这两个文件并立即组合它们以生成带有结果的最终csv文件吗?

或者我可以用perl标准的lib来实现这个目的吗?

csv bash awk replace

-3
推荐指数
1
解决办法
686
查看次数