小编And*_*cer的帖子

使用 itext 将图像文件插入 PDF 时找不到文件

如何使用itext将图像和设计页眉、页脚添加到pdf?我写了这个,但是找不到异常文件。

Image image = Image.getInstance("\resources\image.gif");
Run Code Online (Sandbox Code Playgroud)

谢谢

java pdf pdf-generation exception itext

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

如何根据调用它的应用程序更改方法的行为?

我有一个共同点jar,它使用一些String对象的解组.该方法应该根据调用它的应用程序采取不同的行为,除了我可以通过尝试加载它具有的一些唯一类(不喜欢它)来识别应用程序之外,我该怎么做呢.是否有一些设计模式可以解决这个问题?

java

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

在原始类类型上忽略显式方法类型参数;编译器错误?

我在调用具有显式类型参数的泛型方法时遇到编译器错误,就好像未考虑显式类型参数一样。最小的例子:

class CastExample {
    static class ThingProducer<S> {
        public <T> T getThing() { return null; }
    }

    static class ThingA {}

    public static void main(String... args) {
        ThingProducer thingProducer = new ThingProducer();
        ThingA thingA = thingProducer.<ThingA>getThing(); // compile error here
    }
}
Run Code Online (Sandbox Code Playgroud)

ThingProducer是原始类型,因为类有一个类型参数,但在调用时getThing我们不是引用类型参数,而是提供方法类型参数。根据我对 JLS 的理解,这应该是合法的,但它给了我这个错误:

incompatible types: Object cannot be converted to ThingA
Run Code Online (Sandbox Code Playgroud)

如果我,错误就会消失

  • 除去<S>ThingProducer
  • 或使getThing静态
  • 声明thingProducer ThingProducer<?>而不是原始类型ThingProducer

这是编译器错误吗?如果不是,JLS 中的什么规则定义了这种行为?

java generics raw-types language-lawyer

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

从搜索表单动态构建WHERE子句时如何防止SQL注入?

我知道在Java中保护SQL查询以防止SQL注入的唯一真正正确的方法是使用PreparedStatements.

但是,这样的声明要求基本结构(选定属性,连接表,WHERE条件的结构)不会变化.

我这里有一个JSP应用程序,其中包含一个包含大约十几个字段的搜索表单.但是用户不必填写所有这些 - 只需要他需要的那个.因此我的WHERE条件每次都不同.

我该怎么做才能阻止SQL注入?
逃避用户提供的值?编写一个包装类,每次都构建一个PreparedStatement?或者是其他东西?

数据库是PostgreSQL 8.4,但我更喜欢一般的解决方案.

非常感谢提前.

java sql postgresql jdbc

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

选择当前月的记录在Oracle中

嗨大家我正在编写Java程序,我需要从Oracle数据库中选择当月的记录.任何时候我需要选择当天的记录我使用:

select * from purchases where purchase_date = to_char(sysdate, 'DD-MON-YYYY')
Run Code Online (Sandbox Code Playgroud)

我应该使用什么方法从当前月份中选择记录?在表格上,日期显示如下:

10/4/2012 //for 4th October 2012
Run Code Online (Sandbox Code Playgroud)

我试过了

select * from purchases where purchase_date like to_char(sysdate, 'MON-YYYY')
Run Code Online (Sandbox Code Playgroud)

这当然没有选择,请协助.

java oracle11g

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

创建 bat 文件以退出 FFMPEG (Windows)

大家好,我正在使用这个 bat 文件来捕获我的屏幕。

ffmpeg -f dshow -i video=screen-capture-recorder -r 240001001 -q 1 lma_recording.avi
Run Code Online (Sandbox Code Playgroud)

当我按 q 按钮时,视频捕获停止。

但是我想用另一个 bat 文件停止屏幕捕获。

我已经尝试过这个:

taskkill /im ffmpeg.exe

没有运气

有什么建议么?

windows ffmpeg process batch-file

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

将数字转换为精确到2位小数的字符串

我目前正在使用静态String方法String.format(String, Object)格式化表示数字的字符串.

我正在截断字符串,以便小数位后只有两位数.

if (!firstString[2].replaceAll("[^\\d.]", "").equals(""))
            secondString = String.format("%.2f", Float.valueOf(firstString[2].replaceAll("[^\\d.]", "")));
Run Code Online (Sandbox Code Playgroud)

我想知道如何使格式化的字符串有两个小数位,即使它是一个整数或没有十位有效数字.

java string

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

用于匹配括号的 IntelliJ IDEA 键盘快捷键

如果|是我的光标位置

 List<String> words = Arrays.asList(|"all cats are grey".split(" "));
Run Code Online (Sandbox Code Playgroud)

然后我想要一个跳转到右括号的快捷方式

 List<String> words = Arrays.asList("all cats are grey".split(" ")|);
Run Code Online (Sandbox Code Playgroud)

请注意,根据这个问题,快捷键Ctrl+{Ctrl+}用于在大括号之间跳转{ },但不适用于括号( )

注 2:使用标准 IntelliJ 键盘映射

intellij-idea

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

为什么执行时不能读取/ src/main/resources下的文件?

我有一个Java项目,并使用标准的maven原型来创建dir结构.它看起来像这样:

|-src/main/java 
|-src/main/resources
|-target/classes
|- ... 
Run Code Online (Sandbox Code Playgroud)

现在,我的一个类使用.properties文件来读取某些设置.我将它放在src/main/resources中并通读File propertiesFile = new File("./src/main/resources/starter.properties");.
当我使用eclipse运行配置时,一切正常.但是最近我尝试从我的控制台启动相同的Java类java some.package.Class,并且由于.class文件位于目标/类中,我得到了消息,即./src/main/resources/starter.properties不能找到.

我究竟做错了什么?.properties文件不应该位于resources-folder中,还是我必须使用其他方式加载它?

java eclipse maven

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

类路径上有多个 ApplicationRunner,如何让 SpringApplication.run() 只运行一个

上下文:我有一个带有一些实用程序的项目来执行数据修复等操作。每个实用程序都是一个 Java 应用程序,即带有main()方法的类。我想将它们定义为 Spring Boot 应用程序,以便我可以使用ApplicationRunnerApplicationArguments工具。Spring 配置是通过共享配置类中的注释定义的。我在下面放了一个这个设置的最小例子。

期望:如果我调用SpringApplication.run(SomeClass.class, args)where SomeClassis an ApplicationRunner,它会run()在该类上运行,而不是在应用程序上下文中的任何其他类上运行。

实际发生的事情:它调用ApplicationRunners上下文中的所有内容。

为什么?我理解的SpringApplication.run(Class, String[])意思是“运行此类”,而它似乎意味着“从此类加载应用程序上下文并运行您可以在其中找到的任何内容”。我应该如何修复它以仅运行 1 个类?我不介意我的其他应用程序类是否不在应用程序上下文中,因为我需要的所有配置都在共享配置类中。但我不想根据我需要运行的类来编辑代码(例如添加或删除注释)。

最小的例子:

一个 Spring 配置类(共享):

package com.stackoverflow.example;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ExampleSpringConfig {
  /** Some bean - just here to check that beans from this config are injected */
  @Bean public FooService fooService () {
    return new FooService();
  }
}
Run Code Online (Sandbox Code Playgroud)

两个应用类

package com.stackoverflow.example;

import org.springframework.boot.ApplicationArguments; …
Run Code Online (Sandbox Code Playgroud)

spring spring-boot

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

如何从 JTextField 中获取作为整数的值?

实际上我正在使用 oracle jdbc type4 瘦驱动程序。我正在使用 eclipse 以下列 pid、name、addrs 列创建注册表单。问题是我只得到了哪种方法是字符串值,ps.setString=(2,JTextfiled.getText()); 但我无法得到 int 值,就像ps.setInt(1.getxxx()); 任何人都可以指导我如何将 int 值插入到数据库中一样。

//prepare query
String query1 ="insert into employee values(?,?,?,?,?)";
//create preapare Statement
ps = con.prepareStatement(query1);
//set params
ps.setString(1,textField.getText());
ps.setString(2, textField_1.getText());
ps.setString(3, textField_2.getText());
ps.setString(4,textField_3.getText());
ps.setString(5, textField_4.getText());
//execute query
int count = ps.executeUpdate();
if(count==0)
{
    JOptionPane.showMessageDialog(null, "Record not Inserted");
}
else
{
    JOptionPane.showMessageDialog(null, "Record inserted into database successfuly");
}
Run Code Online (Sandbox Code Playgroud)

java swing

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

字节文字上的编译器错误"不兼容的类型"

我已经看到很多情况,其中声明了一个字节,但是来自intToByteStringToByte之类的方法的值 被转换为一个字节,因为程序员提供的是十六进制 - 值,整数 - 或字符串 -值.

我试图为变量分配一个实际的字节值,而不需要任何转换或方法来解析,如下所示:

public class ByteTest   {
      /**
       * This array will be used to hold three characters, together forming a string.
       */
      private static byte[] string;

      /**
       * The main method of the program, where the byte-array is coming to use.
       */
      public static void main(String args[])    {
            //Construct the array with a limit to three bytes.
            string = new byte[3];

            /*
             * Fill the three …
Run Code Online (Sandbox Code Playgroud)

java byte bytearray bit

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

Intellij warning: Boolean method foo() is always inverted

I have this code:

private boolean changeNcheckIP() {

    //try 3 times before false
    for(int i = 0; i < 3; i++) {

        if(changeIP() && checkIP()) { return true; }

    }

    return false;

}
Run Code Online (Sandbox Code Playgroud)

Intellij give me an warning at changeNcheckIP():

Boolean method changeNcheckIP() is always inverted

How can I fix that?

java intellij-idea

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