小编ber*_*kiv的帖子

如何使用Java运行文件?

我需要能够使用Java运行.mp3文件,我试过这个,但无济于事:

Process process = new ProcessBuilder("C:\\Users\\<removed>\\Desktop\\Music\\Cash Cash\\Overtime.mp3")

然后跑

process.start();
Run Code Online (Sandbox Code Playgroud)

但是,它抛出了这个错误:

java.io.IOException: Cannot run program "C:\Users\<removed>\Desktop\Music\Cash Cash\Overtime.mp3": CreateProcess error=193, %1 is not a valid Win32 application
    at java.lang.ProcessBuilder.start(Unknown Source)
    at com.newgarbo.music.Mooseec.main(Mooseec.java:50)
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

我认为这当然是因为a Process只适用于可执行文件/ jar,如果是,那么有人可以告诉我一种运行这些文件的方法吗?^ _ ^

java audio

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

如何使你的变量免受反射?

我最近制作了一个带有几个私有变量的Utilities类,我需要确保即使有人尝试使用反射也不会改变.

所以我想知道,有没有办法让变量免于反射?

java reflection

6
推荐指数
0
解决办法
78
查看次数

对于多个for循环使用单个整数有什么好处?

正如标题所示,使用它有什么好处:

int i;

for (i = 0; i < 4; i++){
    <do stuff>
}

for (i = 0; i < 7; i++){
    <do other stuff>
}
Run Code Online (Sandbox Code Playgroud)

而不是这个:

for (int i = 0; i < 4; i++){
    <do stuff>
}

for (int i = 0; i < 7; i++){
    <do other stuff>
}
Run Code Online (Sandbox Code Playgroud)

换句话说,没有为每个循环声明另一个变量有什么好处吗?

我认为存储它们需要的内存较少,但它们都会在方法结束时被废弃,所以为什么这很重要?(或GC只会摆脱它们)

java scope for-loop

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

如何在 FernFlower 中使用自定义重命名器?

我目前有一个 FernFlower 的工作设置,就像这样;

我有fernflower.jar一个fern.bat文件,其内容是:

title FernFlower
java -jar fernflower.jar -dgs=1 -ren=1 C:\Users\bernhardkiv\Desktop\test\test-obf.jar C:\Users\bernhardkiv\Desktop\test\src
Run Code Online (Sandbox Code Playgroud)

并且该参数-ren 1使得名称少于 3 个字符(或类似名称)的任何方法和字段都重命名为func_blahor field_blah(相应地,方法获取func_名称,字段获取field_名称。

在 fernflower 的自述文件中有这一节:

 5. Renaming identifiers

Some obfuscators give classes and their member elements short, meaningless and above all 
ambiguous names. Recompiling of such code leads to a great number of conflicts. Therefore it is
advisable to let the decompiler rename elements in its turn, ensuring uniqueness of each …
Run Code Online (Sandbox Code Playgroud)

java decompiling

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

Java正则表达式,用于获取双引号之间的字符

我需要找出一个正则表达式(Pattern)才能在双引号之间获取字符.

这有点难以解释,但这就是我想要的:

如果我通过所述表达式运行:

say("ex" + "ex2", "ex3");
Run Code Online (Sandbox Code Playgroud)

然后我将能够获得三场比赛,

"ex", "ex2", and "ex3"
Run Code Online (Sandbox Code Playgroud)

一切都在他们自己的弦乐.

我已经尝试过这个表达式:

Pattern.compile("\\\"(.*)\\\"");
Run Code Online (Sandbox Code Playgroud)

但不是给我三个不同的.group()S,我得到一个.group"ex", "ex2", and "ex3"

那么有谁知道一个表达式给我我想要的输出?

java regex

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

标签 统计

java ×5

audio ×1

decompiling ×1

for-loop ×1

reflection ×1

regex ×1

scope ×1