最近我搬到了一台全新的64位Windows 7机器上.但是当我运行这段代码时,得到了错误的操作系统名称
String osName = System.getProperty("os.name");
System.out.println("OS Name = " + osName);
Run Code Online (Sandbox Code Playgroud)
输出来了:
OS Name = Windows Vista
Run Code Online (Sandbox Code Playgroud)
任何想法,我的代码或系统有什么问题?
提前致谢.
在研究用于 Java 解析的 Antlr 3.5 语法时,注意到“ IDENTIFIER ”规则在 ANTLR 词法分析器语法中消耗了很少的关键字。词法分析器语法是
lexer grammar JavaLexer;
options {
//k=8;
language=Java;
filter=true;
//backtrack=true;
}
@lexer::header {
package java;
}
@lexer::members {
public ArrayList<String> keywordsList = new ArrayList<String>();
}
V_DECLARATION
:
( ((MODIFIERS)=>tok1=MODIFIERS WS+)? tok2=TYPE WS+ var=V_DECLARATOR WS* )
{...};
fragment
V_DECLARATOR
:
(
tok=IDENTIFIER WS* ( ',' | ';' | ASSIGN WS* V_VALUE )
)
{...};
fragment
V_VALUE
: (IDENTIFIER (DOT WS* IDENTIFIER WS* '(' | ',' | ';'))
;
MODIFIERS
:
(PUBLIC | …Run Code Online (Sandbox Code Playgroud) 如何加速Java应用程序?
我正在开发一个Java应用程序,它逐行解析Cobol文件,从中提取必要的数据并填充到DB2数据库中.
如果要解析的文件更多,那么应用程序需要超过24小时才能完成,这是不可接受的.
所以我在一个单独的线程中做一些表格填充以加速...例如
ArrayList list = (ArrayList)vList.clone();
ThreadPopulator populator = new ThreadPopulator(connection, list, srcMbr);
Thread thread = new Thread(populator);
thread.run();
return;
And ThreadPopulator class is implementing Runnable interface and run method as
public void run()
{
try
{
synchronized (this)
{
int len = Utils.length(list);
for (int i = 0; i < len; i++)
{
.....
stmt.addBatch();
if ((i + 1) % 5000 == 0)
stmt.executeBatch(); // Execute every 5000 items.
}
}
}
catch (Throwable e)
{
e.printStackTrace(): …Run Code Online (Sandbox Code Playgroud) 如何获得java.io.File.list()与Windows资源管理器中相同的顺序?
在程序中,我正在创建Temp文件夹,例如Temp1,Temp2依此类推.但是当我使用java.io.File.list()检索文件夹列表,它给人的Temp1,Temp10等等.
请告诉我们如何获得与Windows资源管理器中显示的相同的订单列表?
谢谢
在多个 null 条件中使用Java 8 可选功能
条件是
Optional<Payee> payee = Optional.ofNullable(paymtTrans.getPayee());
if (payee.isPresent()
&& payee.get().getPayeeAcc() != null
&& payee.get().getPayeeAcc().size() > 0
&& payee.get().getPayeeAcc().get(0).getBnk() != null
&& payee.get().getPayeeAcc().get(0).getBnk().getBnkCtryCode() != null) {
String ctryCode = payee.get().getPayeeAcc().get(0).getBnk().getBnkCtryCode();
}
Run Code Online (Sandbox Code Playgroud)
要求是使用 Java 8 功能而不检查空值!!
需要获取ctryCode吗?
如何使用Java Regex在单词中分割一行并删除字符串和数字单词。这里输入是我收到的,输出是我想要的:
Input:
05 ECPRF-057 PIC S9(4) VALUE +0057 COMP-3.
Output:
ECPRF-057
PIC
S
VALUE
COMP-3
Input:
88 ACCT-LVL-CHG VALUE 'WT ' 'WTO', "AA ",
Output:
ACCT-LVL-CHG
VALUE
Run Code Online (Sandbox Code Playgroud)
在此先感谢Kishore
java.io.File.list()给出了顺序创建的文件夹的不同顺序
创建名称为的临时文件夹时
"Temp" + auto-incremented number
e.g. Temp1, Temp2, Temp3...Temp10, Temp11 and so on.
Run Code Online (Sandbox Code Playgroud)
但是当我使用java.io.File.list()来获取文件夹列表以便在创建文件夹时按顺序进一步处理,
but its giving as Temp1, Temp10, Temp11...Temp19, Temp2, Temp20, Temp21 and so on.
I also tried Arrays.sort(files); but no change in order of folder list
Run Code Online (Sandbox Code Playgroud)
请告诉我们如何获得与顺序创建的文件夹相同的订单列表?