小编Ben*_*nny的帖子

在windows中的schtasks命令中指定"start-in"目录

我意识到在以下线程中"回答"了这个问题:使用schtasks.exe为Scheduled Tasks指定运行目录

但是,我仍然无法理解答案,并确切了解结果对于我的情况会是什么样子.

我的schtasks命令看起来像这样:

Schtasks /Create /TR "C:\Program Files\Java\jre6\bin\javaw.exe main.MoveFile input.txt" /SC WEEKLY /TN mytask

我想指定"C:\ My Library"目录中的开头.在tr部分之前放置一个"\",填写"C:\ Program Files\Java\jre6\bin"的起始目录.

我已经搞砸了很多,但我似乎无法让它发挥作用.

windows scheduled-tasks

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

Ant:创建包含文件的目录(如果它尚不存在)?

基本上,我得到一个像"C:\ test\subfolder1\subfolder2\subfolder3\myfile.txt"这样的路径,但是子文件夹1-3可能已经不存在,这意味着如果我尝试的话我会得到一个例外写入文件.

有没有办法创建目标文件所在的目录结构,或者通过使用某些任务在输出到文件然后删除文件时创建结构,或者通过解析路径的目录部分并使用mkdir任务第一?

ant

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

如何创建一个multipart zip文件并将其读回?

我如何正确地将字节压缩到a ByteArrayOutputStream然后使用ByteArrayInputStream?读取?我有以下方法:

private byte[] getZippedBytes(final String fileName, final byte[] input) throws Exception {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ZipOutputStream zipOut = new ZipOutputStream(bos);
    ZipEntry entry = new ZipEntry(fileName);
    entry.setSize(input.length);
    zipOut.putNextEntry(entry);
    zipOut.write(input, 0, input.length);
    zipOut.closeEntry();
    zipOut.close();

    //Turn right around and unzip what we just zipped
    ZipInputStream zipIn = new ZipInputStream(new ByteArrayInputStream(bos.toByteArray()));

    while((entry = zipIn.getNextEntry()) != null) {
        assert entry.getSize() >= 0;
    }

    return bos.toByteArray();
}
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,底部的断言失败,因为entry.size-1.我不明白为什么提取的实体与压缩的实体不匹配.

java zip bytearrayoutputstream bytearrayinputstream zipoutputstream

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

PostgreSQL:正则表达式转义函数

为了放弃阅读整个问题,我的基本问题是:
PostgreSQL中是否有一个函数来转义字符串中的正则表达式字符?

我已经探测过文档,但无法找到这样的功能.

这是完整的问题:

在PostgreSQL数据库中,我有一个包含唯一名称的列.我还有一个定期在此字段中插入名称的进程,并且为了防止重复,如果需要输入已存在的名称,它会在末尾附加一个空格和括号.

即姓名,姓名(1),姓名(2),姓名(3)等

就目前而言,我使用以下代码来查找要在系列中添加的下一个数字(用plpgsql编写):

var_name_id := 1;

SELECT CAST(substring(a.name from E'\\((\\d+)\\)$') AS int)
INTO var_last_name_id
FROM my_table.names a
WHERE a.name LIKE var_name || ' (%)'
ORDER BY CAST(substring(a.name from E'\\((\\d+)\\)$') AS int) DESC
LIMIT 1;

IF var_last_name_id IS NOT NULL THEN
    var_name_id = var_last_name_id + 1;
END IF;

var_new_name := var_name || ' (' || var_name_id || ')';
Run Code Online (Sandbox Code Playgroud)

(var_name包含我试图插入的名称.)

这暂时有效,但问题出在WHERE声明中:

WHERE a.name LIKE var_name || ' (%)'
Run Code Online (Sandbox Code Playgroud)

此检查不会验证有%问题的数字,并且它不会考虑多个括号,如"Name((1))",如果存在任何一种情况,则会抛出强制转换异常.

WHERE声明确实需要像更多的东西: …

regex postgresql escaping plpgsql pattern-matching

9
推荐指数
2
解决办法
4853
查看次数

使用Maven,我如何阻止Maven过滤某些属性但允许其他属性?

问题是我正在尝试构建一个在其资源中包含build.xml文件的项目.基本上,我将我的项目打包为Maven2的jar,然后使用ant安装程序来安装我的项目.

我需要过滤build.xml文件中的一个名为build.date的属性,但还有其他一些我不想过滤的属性,比如$ {basedir},因为它被ant安装程序使用但被替换由Maven的basedir变量.所以,我需要以某种方式告诉Maven过滤$ {build.date},而不是$ {basedir}.

我尝试创建一个属性文件作为过滤器,其中"basedir = $ {basedir}"作为其中一个属性,但我收到以下错误:

解析表达式:'$ {basedir}':检测到以下递归表达式循环:[basedir]

任何建议将不胜感激.

谢谢,

BJ

ant maven-2

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

使用 JPA Criteria,如何在不获取已加入实体的情况下获取已加入实体的子实体?

在我的项目中,我使用 Groovy 和 Spring Data JPASpecification来构建 Hibernate 查询。

我无法提供我的实际查询,但为了说明我的问题,假设我有建筑实体,每个建筑都有楼层,每个楼层都有房间和窗户。

我试图模拟的行为类似于本机 SQL 查询:

SELECT b.*, r.*
FROM building b
INNER JOIN floor f ON b.id = f.building_id
INNER JOIN window w ON f.id = w.floor_id
LEFT OUTER JOIN room r ON f.id = r.floor_id
WHERE w.id = 1;
Run Code Online (Sandbox Code Playgroud)

我有一个类似于以下的规范:

public class MySpec implements Specification<Building> {
    @Override
    public Predicate toPredicate(final Root<Building> root, final CriteriaQuery<?> query, final CriteriaBuilder cb) {
        final Join floorsJoin = root.join("floors");
        final Join windowsJoin = floorsJoin.join("windows");

        //I'd …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa criteria criteria-api

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

使用Grails'withCriteria函数与多对多关系重复的问题

我有2个表,问题和答案,具有多对多的关系(即问题可以有多个问题可以重复使用多个答案和答案).为了规范化,我在它们之间有一个名为Question_Answer的交叉引用表,它与两个表都有多对一的关系.这些是他们的类定义:

class Question {
    int id
    int text

    static hasMany = [questionAnswers : QuestionAnswer]
}

class Answer {
    int id
    int text

    static hasMany = [questionAnswers : QuestionAnswer]
}

class QuestionAnswer {
    int id
    Question question
    Answer answer
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试根据某些标准获取答案列表.这是我的标准查询(使用Grails的withCriteria功能):

def listing = Answer.withCriteria {
    cache false
    order "id", "asc"

    eq("id", myAnswerID)

    questionAnswers {
        question {
            isNotNull("text")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我遇到的问题的一个例子:

我有一个符合3个不同问题的答案.我在"列表"中想要的是1个Answer对象,其questionAnswers列表中填充了3个匹配的QuestionAnswer对象.相反,我得到3个相同的Answer对象,所有对象都questionAnswers填充了它们.

有没有一种简单的方法来实现我想要的?我希望我只是错过了一些小事.

任何帮助/建议都非常感谢.

谢谢,BJ

java grails groovy hibernate

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

fillRoundRect的问题似乎无法正确呈现

我有一个非常简单的图像生成器程序,它只是在BufferedImage上绘制一个圆角矩形,然后将图像保存到文件中.

try
{
    BufferedImage image = new BufferedImage(40, 40, BufferedImage.TYPE_INT_ARGB);

    Graphics2D g2 = image.createGraphics();
    g2.setPaint(Color.blue);

    g2.fillRoundRect(0, 0, 39, 39, 6, 6);

    File file = new File("C:\\test.png");

    ImageIO.write(image, "png", file);
}
catch( IOException e )
{
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

每当我使用drawRoundRect绘制矩形时,一切都按预期工作:

在此输入图像描述

但是,当我使用fillRoundRect时,矩形似乎在右侧和底侧被裁剪:

在此输入图像描述

我已经尝试使BufferedImage本身更大并​​保持矩形大小相同,但问题仍然存在.此外,无论我选择什么样的矩形宽度和高度或弧宽和高度,4个角都看起来不一样(虽然它越大,它看起来就越不明显).

这是一个常见的问题,还是我可能误解圆角矩形?

任何帮助或建议将不胜感激.

谢谢,

BJ

java graphics image

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