如何创建目录/文件夹?
一旦我测试过 System.getProperty("user.home");
当且仅当新文件夹不存在时,我必须创建一个目录(目录名"新文件夹").
我正在尝试编写一个Java例程来评估简单的数学表达式,String例如:
"5+3""10-40""10*3"我想避免很多if-then-else语句.我怎样才能做到这一点?
为什么在Java中这么做呢?如果您想拥有任何类型的模块系统,您需要能够动态加载jar.我被告知有一种方法可以通过编写自己的方式来完成它ClassLoader,但这对于应该(至少在我看来)像调用一个以jar文件作为参数的方法一样容易的事情来做很多工作.
这样做的简单代码的任何建议?
我是Android开发人员,作为我的下一个应用程序的一部分,我将需要评估各种用户创建的数学表达式和方程式.我正在寻找一个很好的java库,它是轻量级的,可以使用用户定义的变量和常量,trig和指数函数等来评估数学表达式.
我环顾四周,Jep似乎很受欢迎,但我希望听到更多的建议,特别是那些之前使用过这些库的人.
如何快速混淆代码.我有一个非常小的Java应用程序,我想将混淆的代码传递给我的客户端.我听说过很多关于ProGuard混淆代码并已下载但却不知道如何混淆我的"abc.jar"文件.
我查看了它的网站,但它包含了很多要阅读的资料.我不需要沉重的混淆.我只需要一个混淆,只需将变量,方法和类的名称更改为一些不可读的名称.我知道ProGuard也提供了所有这些功能.
Q1.所以任何人都可以告诉我一些简单的混淆器或一些简单的步骤来使用proguard,这样我就可以输入"abc.jar"并输出"obfuscate_abc.jar"或类似的东西.
Q2.还有一件事,因为我的Java程序使用外部库,所以我是否还需要对这些库进行模糊处理?
Q3.是否有任何Eclipse或NetBeans插件可用于此混淆?
我还听说我们应该保留映射表文件,以便将来我们可以通过在混淆时创建的映射表的帮助下首先进行去混淆来调试或编辑混淆的代码.
Q4.那么,还有一个问题是为什么我们需要与我们保持映射表?我们可以简单地保留未混淆的应用程序的副本,以便对其进行更改(如果将来需要).有没有理由保留我们的映射表文件?
是否有java等价的python eval函数?
这将是一个函数,它接受任意字符串并尝试在当前上下文中执行它.
我一直在尝试编写一个java程序,它使用该Runtime.getRuntime().exec()方法使用命令行来运行程序"tesseract"的实例.
一些背景,Tesseract是一个免费的开源程序,用于在图片上执行OCR(光学字符识别).它接收图片文件并输出文本文档.它是一个使用此命令运行的命令行程序
(从命令提示符shell中)
tesseract imageFilePath outFilePath [optional arguments]
Run Code Online (Sandbox Code Playgroud)
例:
tesseract "C:\Program Files (x86)\Tesseract-OCR\doc\eurotext.tif" "C:\Users\Dreadnought\Documents\TestingFolder\out"
Run Code Online (Sandbox Code Playgroud)
第一个参数调用tesseract程序,第二个参数是图像文件的绝对路径,最后一个参数是输出文件应该是什么的路径和名称.Tesseract只需要输出文件的名称,不需要扩展名.
在命令提示符下工作,这非常有效.但是,我想从java程序运行它并遇到一些错误.
我发现这个代码作为一个起点非常有用
public class Main
{
public static void main(String args[])
{
try
{
Runtime rt = Runtime.getRuntime();
String cmdString = "cmd /c dir";
System.out.println(cmdString);
Process pr = rt.exec(cmdString);
BufferedReader input = new BufferedReader(new InputStreamReader(
pr.getInputStream()));
String line = null;
while ((line = input.readLine()) != null)
{
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code " + exitVal);
}
catch (Exception …Run Code Online (Sandbox Code Playgroud) 让我们说我有一个方法声明这样:
public double Calc(String expression) {
// Code
}
Run Code Online (Sandbox Code Playgroud)
我想采用像String这样的String表达式
"2 + 4 - (3 * 4)"
Run Code Online (Sandbox Code Playgroud)
然后将其提供给它Calc(),它应该返回它获得的值.
你能从字符串中解析数学表达式,以便它成为Java可以理解的表达式吗?因为通常你可以写
return 2 + 4 - (3 * 4);
Run Code Online (Sandbox Code Playgroud)
但这只适用于那个单一的表达.
在开发Android应用程序时是否可以引用javax.script.ScriptEngine库?如果没有,那么有可能在android中评估一个javascript表达式?
可能重复:
将字符串转换为Java中的代码Java上的
动态代码执行
我有一个String包含:"for(int i=0 ; i<5 ; i++){System.out.println(\"*\");}"
我可以在Java中执行此String中的代码吗?
java ×9
math ×3
android ×2
parsing ×2
string ×2
classloader ×1
directory ×1
exec ×1
jar ×1
javascript ×1
obfuscation ×1
process ×1
proguard ×1
runtime.exec ×1
scriptengine ×1