小编hyp*_*ube的帖子

iText 5.0.0 RTF和HTML在哪里?

这个问题可能看起来很愚蠢,但是,就这样吧!那时我有一个愚蠢的问题:-).好吧,我的问题是:使用此代码

//PDF generation

PdfWriter.getInstance(document,
new FileOutputStream("PDFFile.pdf"));

//RTF generation

RtfWriter2.getInstance(document,
new FileOutputStream("RTFFile.rtf"));

//HTM generation

HtmlWriter.getInstance(document,
new FileOutputStream("HTMLFile.htm"));
Run Code Online (Sandbox Code Playgroud)

使用iText 2.1.7版本(和其他一些行),每个计算机爱好者都能够从他的Java代码生成PDF,RTF或HTM文件格式的文件.现在,我已将iText升级到最新版本(5.0.0),我无法找到RtfWriter2(或旧的RtfWriter)或HtmlWriter.简而言之,我想知道是否有人知道是否甚至维护了对这些文件类型的支持,因为网络搜索引擎上的每次搜索显然都指向了以前版本的iText,显然,其中一个人能够做到一切.关于此事的任何提示?

java itext

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

Java - 应该在何处以及如何使用异常?

我正在阅读有关Java中异常处理的一些内容,以便能够编写更好的代码.好吧,我承认,我很内疚; 我已经使用了太多的try-catch {}块,我已经ex.printStackTrace()在catch中使用了,甚至没有使用正确的记录器(实际上System.out并且System.err被重定向到a PrintWriter,因此生成了日志).然而,经过几个小时的阅读,我发现自己处在一个陌生的地方:未知.如果异常被设计为传递有关流的异常状态的信息,那么如何知道WHERE是用该信息做某事的适当级别?

例如,当发生数据库错误时,是应该返回空值还是错误代码,还是抛出异常?如果抛出,那么应该处理该异常?据我所知,如果你不能对它做任何事情,那么记录异常是没用的.但是,在GUI应用程序中,这可能很容易杀死你的GUI(我使用SWT而且我经常看到这个),即使对于menuShown()方法的情况(ArrayIndexOutOfBounds如果不处理,例外将关闭应用程序).这个例子可以永远持续下去,但这里是问题摘要:

  1. 使用try-catch()过度地对性能产生负面影响吗?
  2. 使用特定的异常类型更好吗?如果我错过了可能发生的X类异常之一怎么办?
    坦率地说,我听说并且仅用了10%,我认为在2 - 3年内会出现Java标准异常.是的,有人说,如果来电者不知道如何处理抛出的异常,他就没有权利调用投掷方法.是对的吗?
  3. 我读过Anders Hejlsberg的这篇文章,说检查过的例外情况很糟糕.这是否表明在某些情况下建议进行方便的吞咽异常?
  4. 一张图片价值1000字; 我想一些例子在这里会有很多帮助.

我知道这个主题是永恒的,但实际上我期待着根据你的建议审查一个150个班级的中型项目.非常感谢.

java exception-handling exception

10
推荐指数
2
解决办法
1789
查看次数

代码分析器:PMD和FindBugs

1.关于PMD:

1.1如何设置PMD检查,忽略其中的一些,例如"变量名太短或太长","删除空构造函数等" - 如果我这样做,会出现另一个警告,说该类必须有一些静态的方法.基本上,这个课程是空的,以便以后开发,我现在想把它留下来.

1.2遵循此警告建议是否必要?

  A class which only has private constructors should be final
Run Code Online (Sandbox Code Playgroud)

1.3那是什么意思?

 The class 'Dog' has a Cyclomatic Complexity of 3 (Highest = 17)
Run Code Online (Sandbox Code Playgroud)

1.4这个怎么样?我很乐意改变这一点,但目前关于变化的事情并没有让我想到:

Assigning an Object to null is a code smell. Consider refactoring.
Run Code Online (Sandbox Code Playgroud)

2.关于FindBugs:

2.1写入静态字段是否真的那么糟糕,比它的声明要晚一些?以下代码给了我一个警告:

Main.appCalendar = Calendar.getInstance();
Main.appCalendar.setTimeInMillis(System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)

哪里appCalendar是静态变量.

2.2此代码:

strLine = objBRdr.readLine().trim();
Run Code Online (Sandbox Code Playgroud)

发出警告:

Immediate dereference of the result of readLine()
Run Code Online (Sandbox Code Playgroud)

这里objBRdr是一个BufferedReader(FileReader).怎么会发生什么?readLine()可能是空的?代码嵌套在while (objBRdr.ready())测试中,到目前为止,我没有问题.

当我用以下代码替换代码时,Update1:​​2.2被修复了:

strLine = objBRdr.readLine();
    if (strLine != null) { …
Run Code Online (Sandbox Code Playgroud)

java eclipse eclipse-plugin findbugs pmd

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

Eclipse 3.5.1编译器错误:由于对所需库../rt.jar的限制,无法访问OutputFormat类型

这个错误很奇怪,我无法理解它.我安装了EclipseRCP 3.5.1,Java SE 1.6 update 16并切换到SWT 3.5.我已经创建了一个新项目,设置了依赖项并尝试编译.尝试导入时,请使用以下命令:

import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Access restriction: The type XMLSerializer is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar.
Run Code Online (Sandbox Code Playgroud)

我已经谷歌了,在这里阅读一些回复......问题仍然存在.有趣的是,如果我使用以前的EclipseRCP(版本:3.4.2),这个问题永远不会发生.3.4.2版本使用相同的JRE版本,我刚刚测试了SWT版本.工作良好.我想这个问题依赖于新IDE的一些插件.有任何想法吗?

PS我发现了这篇文章.但我不喜欢或想要更改代码,如果我不需要.首先是问题的根源是什么,解决方案将遵循......

java restriction

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

Gradle 1.12 损坏图像文件

我的gradle版本是:

------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------

Build time:   2014-04-29 09:24:31 UTC
Build number: none
Revision:     a831fa866d46cbee94e61a09af15f9dd95987421

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy:          2.2.0
JVM:          1.6.0_38-ea (Sun Microsystems Inc. 20.13-b02)
OS:           Windows 7 6.1 amd64
Run Code Online (Sandbox Code Playgroud)

图像的应用程序文件夹路径是:

myApp\web-app\src\main\webapp\images
Run Code Online (Sandbox Code Playgroud)

gradle clean deploy通过在控制台中执行,以下文件夹将分解到我的 tomcat 部署文件夹中,其中包含图像文件:

\myApp\images
Run Code Online (Sandbox Code Playgroud)

部署的映像与我的项目文件具有相同的名称和完全相同的大小。唯一的问题是图像被损坏并且图像扭曲。有任何想法吗?

更新。以下代码似乎会导致文件损坏:

    eachFile {
        it.filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
                releaseVersion: project.version,
                releaseDate: buildDate
        ])
    }
Run Code Online (Sandbox Code Playgroud)

我想一个可能的解决方法是使用另一种方法来替换令牌。

更新2。正如一些人提到的,解决方案是仅将 ReplaceTokens 过滤器应用于某些文件,并跳过某些文件类型。以下代码有效:

    filesNotMatching("**/*.png") {
        it.filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
                releaseVersion: project.version,
                releaseDate: buildDate
        ])
    }
Run Code Online (Sandbox Code Playgroud)

gradle

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

适用于 Apple Silicon 的 IBM MQ

有没有办法让这个 docker 镜像https://hub.docker.com/r/ibmcom/mq在 Apple M1 芯片上运行?对于英特尔芯片,我可以通过以下方式运行此映像:

docker run -e LICENSE=accept -e MQ_QMGR_NAME=QM1 -p 1414:1414 -p 9443:9443 ibmcom/mq
Run Code Online (Sandbox Code Playgroud)

是否有自定义构建或 IBM 官方计划来创建此映像的 Apple M1 兼容版本?

mq ibm-mq apple-silicon apple-m1

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

Java和SQL:返回null或抛出异常?

这是另一个有争议的主题,但这次我只搜索简单而有记录的答案.场景:

我们假设以下方法:

 public static Hashtable<Long, Dog> getSomeDogs(String colName, String colValue) {
  Hashtable<Long, Dog> result = new Hashtable<Long, Dog>();
  StringBuffer sql = null;
  Dog dog = null;
  ResultSet rs = null;
      try {
          sql = new StringBuffer();
          sql.append("SELECT * FROM ").append("dogs_table");
          sql.append(" WHERE ").append(colName).append("='");
          sql.append(colValue).append("'");
          rs = executeQuery(sql.toString());
              while (rs.next()) {
                  dog= new Dog();
                  //...initialize the dog from the current resultSet row
              result.put(new Long(dog.getId()), dog);
              }
          }
     catch (Exception e) {
         createErrorMsg(e);
         result = null; //i wonder....
         }
     finally {
         closeResultSet(rs); …
Run Code Online (Sandbox Code Playgroud)

java mysql exception layer

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

Mongodb错误$ substrBytes:无效范围,结束索引位于UTF-8字符的中间

我正在做一个查询,从我的书集中提取属性“ titlu”的不同首字母,以便根据书籍的“ titlu”属性的首字母进行分组。我有一些以UTF-8字符开头的标题,例如Î,?,?等,但出现此错误:

在此处输入图片说明

显而易见的问题是:如何消除该错误?有两个可接受的选项:

  1. 理想情况下,我应该能够显示Î,?,?等
  2. 如果不可能的话,也可以显示I,S,T,并在I组中将以Î开头的标题归为一组,以?开头的标题也可以。在S组中,等等。

但是,转换必须在mongo查询中完成,因为我还需要计数标题。(对于解决方案2,我们需要字母I,例如,将以I开头的标题的出现与以Î开头的标题的出现进行求和)。

utf-8 mongodb aggregation-framework spring-data-mongodb

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