小编rad*_*doh的帖子

在java中初始化字符串列表的最短方法是什么?

我正在寻找最短路径(在代码中)来初始化字符串列表和字符串数组,即包含"s1","s2","s3"字符串元素的列表/数组.

java arrays string initialization list

53
推荐指数
3
解决办法
6万
查看次数

NTFS中存储的文件名是什么编码?

我刚刚开始编写一些程序来处理WinXP系统上具有非英文名称的文件名.我已经完成了一些关于unicode的推荐阅读,我认为我得到了基本的想法,但有些部分对我来说仍然不是很清楚.

具体来说,什么编码(UTF-8,UTF-16LE/BE)是存储在NTFS 中的文件(不是内容,而是文件的实际名称)?是否可以使用fopen()打开任何文件,它接受一个char*,或者我别无选择,只能使用wfopen(),它使用wchar_t*,并且可能需要一个UTF-16字符串?

我尝试手动输入UTF-8编码的字符串给fopen(),例如.

unsigned char filename[] = {0xEA, 0xB0, 0x80, 0x2E, 0x74, 0x78, 0x74, 0x0}; // ?.txt

FILE* f = fopen((char*)filename, "wb+");
Run Code Online (Sandbox Code Playgroud)

但这就是'ê°€.txt'.

我觉得UTF8编码的字符串足以打开Windows下的任何文件名,因为我似乎依稀记得一些Windows应用程序传递(char*),而不是(wchar_t*),并且没问题.

任何人都可以对此有所了解吗?

windows unicode ntfs

41
推荐指数
3
解决办法
4万
查看次数

以管理员身份运行Java文件,具有完全权限

我已经制作了一个Java应用程序,我在我的电脑和我的笔记本电脑上进行了测试,到目前为止一直都很好......但是这个应用程序适用于我的另一个有迪斯科舞厅的朋友,当我在我的电脑上"安装"我的应用程序时Windows Vista 32位)它不起作用,然后我去搜索和搜索,我发现问题作为特权...我安装了一个虚拟机的Vista 32位和xp 32位进行一些测试,我'我无法以完全管理员权限运行我的应用程序.

有没有办法创建批处理文件或允许我以所有权限运行我的应用程序的东西?我的意思是因为我需要连接到计算机的COM端口以从设备获取一些数据,我需要存储一些文件,因为我使用的是外部库,我可能需要一些我不知道的权限...我试过这个并没有任何效果:

elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar"
Run Code Online (Sandbox Code Playgroud)

使用来自microsoft的提升脚本,我还创建了一个批处理文件

runas /user:Administrator myjar.jar
Run Code Online (Sandbox Code Playgroud)

但没有任何效果:\任何想法?先感谢您

java windows administrator batch-file runas

21
推荐指数
2
解决办法
5万
查看次数

需要BOOLEAN结果来自SQL EXISTS语句而不使用WHERE子句

在不使用WHERE子句的情况下,在简单查询中是否有任何方法可以使用SQL EXISTS语句返回布尔值?

所有2008 R2 SQL Server联机丛书示例都显示了另一个WHERE子句和两个表.网站示例显示过程中的WHERE或IF-THEN-ELSE.

我希望在一张桌子上做以下事情:

EXISTS
(SELECT  cx.id
 FROM fdd.admissions_view as cx  
 WHERE cx.id=1111 and cx.campus='MEXI') 
Run Code Online (Sandbox Code Playgroud)

SELECT语句正常工作并返回ID.我只想添加EXISTS来返回BOOLEAN,但上面的语法无效.

我可以这样做吗?如果是这样,我在语法方面缺少什么?如果没有,还有什么其他技术可行?

请指教.谢谢.

t-sql sql-server exists

17
推荐指数
4
解决办法
2万
查看次数

尽快通过java读取数百万行的csv文件

我想读取包含数百万行的csv文件,并使用我的决策树算法的属性.我的代码如下:

String csvFile = "myfile.csv";
List<String[]> rowList = new ArrayList();
String line = "";
String cvsSplitBy = ",";
String encoding = "UTF-8";
BufferedReader br2 = null;
try {
    int counterRow = 0;
    br2 =  new BufferedReader(new InputStreamReader(new FileInputStream(csvFile), encoding));
    while ((line = br2.readLine()) != null) { 
        line=line.replaceAll(",,", ",NA,");
        String[] object = line.split(cvsSplitBy);
        rowList.add(object); 
        counterRow++;
    }
    System.out.println("counterRow is: "+counterRow);
    for(int i=1;i<rowList.size();i++){
        try{
           //this method includes many if elses only.
           ImplementDecisionTreeRulesFor2012(rowList.get(i)[0],rowList.get(i)[1],rowList.get(i)[2],rowList.get(i)[3],rowList.get(i)[4],rowList.get(i)[5],rowList.get(i)[6]); 
        }
        catch(Exception ex){
           System.out.printlnt("Exception occurred");   
        }
    }
}
catch(Exception ex){
    System.out.println("fix"+ex); …
Run Code Online (Sandbox Code Playgroud)

java csv

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

这个函数会调用自身还是调用重载?

考虑两个重载:

public void add(Integer value)
{
    add(value == null ? null : value.doubleValue());        
}
Run Code Online (Sandbox Code Playgroud)

public void add(Double value)
{
    // some code here
}
Run Code Online (Sandbox Code Playgroud)

如果我用a的null实例调用第一个Integer,那么三元条件是否会调用a的重载Double,或者它是否调用自身?

在我的机器上它调用Double重载,但这是定义良好的Java吗?JLS对此有何评价?

java overloading

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

maven exec:jar中的java运行类文件

我将我的代码打包到jar中

罐子打包好了.

jar -tfv target/test-1.0-SNAPSHOT.jar

com/
com/codevalid/
com/codevalid/App.class
log4j.xml
META-INF/maven/com.codevalid/test/pom.xml
META-INF/maven/com.codevalid/test/pom.properties
Run Code Online (Sandbox Code Playgroud)

当它们作为单独的类文件存在时,我可以执行它们 exec:java

如何使用maven在jar中运行类文件exec:java

maven

7
推荐指数
3
解决办法
2万
查看次数

Java Lambda表达式和日志记录

我正在阅读Log4j2的新功能,并且有一个功能可以启用

"Java 8 lambda支持懒惰日志记录"

它给出了两个例子

第一个是不好的做法

// pre-Java 8 style optimization: explicitly check the log level
// to make sure the expensiveOperation() method is only called if necessary
 if (logger.isTraceEnabled()) {
  logger.trace("Some long-running operation returned {}", expensiveOperation());
 }
Run Code Online (Sandbox Code Playgroud)

第二个是良好的做法

// Java-8 style optimization: no need to explicitly check the log level:
// the lambda expression is not evaluated if the TRACE level is not enabled
logger.trace("Some long-running operation returned {}", () -> expensiveOperation());
Run Code Online (Sandbox Code Playgroud)

在哪里检查是否启用了请求的日志级别? "logger.isTraceEnabled()"

java lambda java-8 log4j2

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

有没有办法确定理想的线程数?

我正在做一个webcrawler并使用线程下载页面.

我的程序性能的第一个限制因素是带宽,我永远无法下载它可以获得的更多页面.

第二件事是我感兴趣的.我正在使用线程同时下载许多页面,但是当我创建更多线程时,会发生更多的处理器共享.是否有一些度量/方式/类测试来确定什么是理想的线程数,或者如果在一定数量之后,性能不会改变或减少?

java performance multithreading metric

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

Java表达式自减/自增运算符解释规则

这是一个纯粹的理论问题,为了清楚起见,我通常不会编写这段代码。

为什么这个相当模糊的声明是合法的

int a = 1, b = 2;
int c = a---b; // a=0, b=2, c=-1
Run Code Online (Sandbox Code Playgroud)

(它被解释为a-- -b

而这个不是?

int c = a-----b;
Run Code Online (Sandbox Code Playgroud)

第一个陈述也可以解释为a- --b,而第二个陈述显然只有 1 个逻辑解释a-- - --b

还有另一个好奇的:

int c = a--- -b; // a=0, b=2, c=3
Run Code Online (Sandbox Code Playgroud)

(并且int c = a----b; 不是法律声明)

Java中的表达式解释是如何定义的?我尝试搜索 JLS,但尚未找到此问题的答案。

java syntax lexer interpretation decrement

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