小编Niv*_*vas的帖子

使用正则表达式匹配多行文本

我试图使用java匹配多行文本.当我使用PatternPattern.MULTILINE修饰符的类时,我能够匹配,但我无法使用(?m).

使用(?m)和使用相同的模式String.matches似乎不起作用.

我确信我错过了什么,但不知道是什么.我不太擅长正则表达式.

这是我试过的

String test = "User Comments: This is \t a\ta \n test \n\n message \n";

String pattern1 = "User Comments: (\\W)*(\\S)*";
Pattern p = Pattern.compile(pattern1, Pattern.MULTILINE);
System.out.println(p.matcher(test).find());  //true

String pattern2 = "(?m)User Comments: (\\W)*(\\S)*";
System.out.println(test.matches(pattern2));  //false - why?
Run Code Online (Sandbox Code Playgroud)

java regex

165
推荐指数
3
解决办法
19万
查看次数

在Java Map中查找重复值?

我想在a中显示值HashMap.A HashMap可能有重复的值(但不是重复键),但我想只显示一次值.

所以我应该找到是否Map有重复的值.我知道我们可以迭代Map并使用返回布尔值map.containsValue(value).我想知道是否有任何方法可以在map中找到重复值,或者我自己应该编写代码?

java hashmap map

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

Tomcat不是从eclipse开始的

我试图从eclipse启动tomcat服务器6.0.32(不是我的应用程序),但它失败并出现错误"本地主机上的服务器Apache Tomcat v6.0.32无法启动".但是当我用startup.bat启动时,它没问题.我检查了tomcat的所有端口 - 它们是免费的.这是一个控制台日志

11.08.2011 15:15:46 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: <MY_PATH_VARIABLE>
11.08.2011 15:15:47 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
11.08.2011 15:15:47 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1068 ms
11.08.2011 15:15:47 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
11.08.2011 15:15:47 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
11.08.2011 15:15:47 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor ProjectName.xml
Run Code Online (Sandbox Code Playgroud)

也许有人知道如何解决它?((((

eclipse tomcat

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

Hibernate Left Outer Join问题:加入时预期的路径

我有两个表,类似于:
Article和ArticleRelevance
它们具有一对一的关系,ArticleRelevance是可选的,这意味着文章可能(或可能不)具有ArticleRelevance.

我想选择所有文章以及ArticleRelevance详细信息.

使用传统的SQL,我将在表上进行外连接,例如

SELECT *
FROM ARTICLE A LEFT OUTER JOIN ARTICLE_RELEVANCE AR ON A.ARTICLE_ID = AR.ARTICLE_ID
Run Code Online (Sandbox Code Playgroud)

我在HQL中尝试了类似的查询,并获得了一条带有消息的异常 "Path Expected for Join"

我无法理解这条消息.这意味着什么,我该如何解决?

(正如你可能已经猜到的那样)我是一个绝对的冬眠新手.

必须使用HQL.实际上我已经有一个HQL,连接两个或三个表,我必须添加这个条件.

StringBuffer hql = new StringBuffer();
hql.append(" select new service.orders.Order (order.orderNo, article.articleNo, article.articleName)");
hql.append(" from (Order order join  Article article with order.articleNo = article.articleNo) left outer join  ArticleRelevance articleRelevance with article.articleNo = articleRelevance.articleNo");
hql.append(" and order.orderNo =  "+orderNumber);
Run Code Online (Sandbox Code Playgroud)

这个论坛中,有人说这是"缺少功能".真正?

java orm hibernate hql left-join

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

获取"<"和">"的KeyStroke

我想对<&>keys 使用keybinding ,然后在我的JFrame上使用它.

我正在使用以下代码尝试获取<key.

KeyStroke testStroke = KeyStroke.getKeyStroke("<"); 
mainJFrame.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
                        .put(testStroke, "clickButton");
mainJFrame.getRootPane().getActionMap().put("clickButton", new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("PRESS!!!!");
        }
});
Run Code Online (Sandbox Code Playgroud)

我无法让它发挥作用.但是,如果我使用像A这样的键,它会很好用

KeyStroke testStroke = KeyStroke.getKeyStroke("A"); 
Run Code Online (Sandbox Code Playgroud)

所以我认为KeyStroke是错误的,其余的代码都没问题.

如何获得按键<&>的按键?

java swing

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

JTextPane中的背景图片

如何将背景图像设置为JTextPane - 某种水印.

我尝试了这个选项 - 创建一个JTextPane的子类,并使用paint方法绘制图像.但随后文本显示在图像"下方"而不是上方.

有没有"标准"或"众所周知"的方法来做到这一点?

(顺便说一下,我尝试过(傻傻的东西?)使内容类型为"text/html",并将图像设置为a的背景图像,<div>但它没有帮助.)

java swing jtextpane

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

使用Java移动和重命名文件

我想使用Java移动和重命名文件.我尝试了这段代码,但无法重命名:请帮忙,谢谢

public class MoveAndRenameFile {

public MoveAndRenameFile(){
    //Current Date and Time  
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date date = new Date();
    {
        File file = new File("C:\\FolderA\\Client.pdf");
        File newFile = new File(("C:\\FolderB\\Clientx.pdf"));
        if(file.renameTo(newFile)+dateFormat.format(date)){
            System.out.println("File rename success");;
        }else{
            System.out.println("File rename failed");
        }

    }
Run Code Online (Sandbox Code Playgroud)

java

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

使用java正则表达式列出名称中带有两个点的文件

我试图匹配名称中有两个点的目录中的文件,就像theme.default.properties
我认为模式.\\..\\..应该是所需的模式[ .匹配任何字符并\.匹配一个dot]但它匹配两者oneTwo.txttheme.default.properties

我尝试了以下内容:
[ resources/themes有两个文件oneTwo.txt,theme.default.properties]
1.

public static void loadThemes()
{
    File themeDirectory = new File("resources/themes");
    if(themeDirectory.exists())
    {
        File[] themeFiles = themeDirectory.listFiles();
        for(File themeFile : themeFiles)
        {
            if(themeFile.getName().matches(".\\..\\.."))
            {
                System.out.println(themeFile.getName());
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这没什么打印

和以下

File[] themeFiles = themeDirectory.listFiles(new FilenameFilter()
{
    public boolean accept(File dir, String name)
    {
    return name.matches(".\\..\\..");
    }
});

for (File file : themeFiles)
{
    System.out.println(file.getName());
}
Run Code Online (Sandbox Code Playgroud)

打印两者

oneTwo.txt …
Run Code Online (Sandbox Code Playgroud)

java regex

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

Swing使JButton无法集中

我想制作一个Java swing按钮'not-focussable'.该按钮根本不应该获得焦点,但应该能够接收鼠标点击.

我认为以下选项,但这些要么不完全解决我的问题,或者看起来不优雅.还有其他/更好/建议的选择吗?

  1. 当按钮获得焦点时,立即将焦点移动到下一个组件(但如果按钮是UI上除标签以外的唯一组件,我该怎么办?)
  2. 将另一个不可聚焦的组件实现为按钮(带有鼠标事件,边框的标签......)(这对我来说看起来不太优雅)
  3. 创建一个匿名按钮实现,覆盖键盘事件,以便它不响应键盘事件(这不能解决焦点问题,但对我来说是件好事,因为问题的根源是避免意外的键盘点击.我会只有在根本没有选项的情况下才这样做,但即使这样也更喜欢选项2)

java swing focus jbutton

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

减去数字的两倍和长

在我的JAVA程序中有这样的代码:

int f_part = (int) ((f_num - num) * 100);
Run Code Online (Sandbox Code Playgroud)

f_num是double,num是long.我只想将小数部分取出并将其分配给f_part.但有时候f_part值比它的值小1.这意味着如果f_num = 123.55和num = 123,但f_part等于54.它只发生f_num而num大于100.我不知道为什么会发生这种情况.请有人解释为什么会发生这种情况以及纠正它的方法.

java

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

套接字setSoTimeout澄清

我有一个场景,其中有服务器侦听指定的IP和端口以及连接到该服务器的客户端.现在我正在使用readline方法从服务器读取响应:

String readme=bs.readline()).   
Run Code Online (Sandbox Code Playgroud)

bsbufferedreader对象.我想知道在阅读回复之前是否写了这一行

socket.setSoTimeout(1000)
Run Code Online (Sandbox Code Playgroud)

如果没有响应,直到1000毫秒

套接字是否超时并断开连接,或者它是否断开套接字并给出空字符串readme.

java

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

ORA-12543:TNS:目标主机无法访问,但telnet和tnsping工作

最后几天,我与一个奇怪的甲骨文问题面对面.我在tnsnames.ora中定义了数据库.安装了Oracle客户端,客户端和客户端/ bin已添加到PATH.

Ping工作,tnsping工作,我可以通过数据库端口与telnet连接到主机.

当我尝试运行尝试连接到db的应用程序时,我得到了

ORA-12543:TNS:目标主机无法访问

当我尝试通过sqlplus连接时,情况也是如此

sqlplus用户名/密码@ TNSNAME

情况只发生在一个工作站上,它的共同点应该是有效的.

WS是Windows 7 64位.
数据库:

Oracle数据库10g企业版10.2.0.5.0版 - 64位生产

oracle tnsnames sqlplus telnet

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

标签 统计

java ×10

swing ×3

regex ×2

eclipse ×1

focus ×1

hashmap ×1

hibernate ×1

hql ×1

jbutton ×1

jtextpane ×1

left-join ×1

map ×1

oracle ×1

orm ×1

sqlplus ×1

telnet ×1

tnsnames ×1

tomcat ×1