标签: apache-commons

Apache vfs:获取目录的最新更改文件(sftp)

我正在尝试从位于 sftp 服务器上的目录中提取最新文件。我现在的做法或多或少是:

public FileObject getLatestFile(String directory) throws FileSystemException {
    FileObject fo = fsManager.resolveFile(this.host+directory, fsOptions);
    FileObject latestFile = null;
    long max  = 0;
    fo.getContent().
    for (FileObject fob : fo.getChildren()){
        if (fob.getContent().getLastModifiedTime() > max) {
            max = fob.getContent().getLastModifiedTime();
            latestFile = fob;
        }
    }
    return latestFile;
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于,每次调用该方法时,我基本上都会下载给定目录中的每个文件。

有没有更好的方法来做到这一点?

java apache-commons

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

将公共DBCP从1.2升级到1.4,我应该害怕吗?

我想知道那里是否有任何重大问题.在我的项目中升级jar后,编译完所有内容.我没有在发行说明中看到任何让我不寒而栗的东西,但我想仔细检查一下.

java upgrade backwards-compatibility apache-commons apache-commons-dbcp

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

帮助使用 FFT 来确定音频样本的频率

我目前正在开发打击乐教程程序。该程序要求我可以确定正在播放什么鼓,为此我将分析鼓录音的频率并查看频率是否在给定范围内。

到目前为止,我一直在为 FFT 使用 Apache math commons 实现(http://commons.apache.org/math/),但我的问题是,一旦我执行了 FFT,我如何使用结果数组来计算频率包含在信号中?

注意:我也尝试过使用自相关进行试验,但它似乎不适用于来自架子鼓的样本

任何有关如何确定正在击中的鼓的帮助或替代建议将不胜感激

编辑:自从写这篇文章以来,我发现了一个很棒的在线课程,关于在 Java 中实现 FFT 以进行时间/频率变换在 Java 中的频谱分析

java signal-processing fft apache-commons frequency-analysis

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

Chunkwise-Copy数据从InputStream到OutputStream +最后得到byte []

我知道如何将chunkwise从一个复制InputStream到一个OutputStream.

我知道如何获得byte[]一个InputStream.

但是如何一步到位呢?是否有一个OutputStream可以通过管道传输缓冲所有写入的字节,以便它可以在结尾返回一个byte []?

我需要一些ByteArrayOutputStream可以用管道输送的东西.(例如,到FileOutputStream)

或者我需要一些MultiOutputStream可以转发到多个OutputStream的东西.使用Guava和/或Apache Commons的解决方案是首选.:)

java stream apache-commons guava

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

在 Java 中记录异常?

我在 Java 应用程序中使用公共日志记录,并且想要记录堆栈跟踪中的异常。

catch( Exception exception ) {
         logger.error( "FailedCreateActivityFunction Exception Occured : " , exception );
         throw new EngineException( getMessage( ERROR_FailedCreateActivityFunction, FunctionName ), exception );
      }
Run Code Online (Sandbox Code Playgroud)

这会抛出异常两次吗?如果是的话如何解决?

使用+ 异常而不是, 异常以这种方式使用它有什么区别

logger.error( "FailedCreateActivityFunction Exception Occured : " + exception );
Run Code Online (Sandbox Code Playgroud)

java logging apache-commons

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

java.lang.NoSuchMethodException:未知属性

以下是我的 pojo :

package anto.com.poc;
public class VerifyPaymentRO {

private String mihpayid;
private String request_id;
private String bank_ref_num;
private String amt;
private String disc;
private String mode;
private String PG_TYPE;
private String card_no;
private String name_on_card;
private String udf2;
private String addedon;
private String status;
private String unmappedstatus;
private String Merchant_UTR;
private String Settled_At;

public String getMihpayid() {
    return mihpayid;
}
public void setMihpayid(String mihpayid) {
    this.mihpayid = mihpayid;
}
public String getRequest_id() {
    return request_id;
}
public void setRequest_id(String …
Run Code Online (Sandbox Code Playgroud)

java reflection pojo apache-commons

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

commons-net FTPClient.retrieveFileStream() 返回错误结果

我在使用 commons-net FTPClient 时遇到问题。如果我从我的 ftp 服务器上使用retrieveFileStream() 下载文件,它可以工作,但我得到的结果是“150 Opening BINARY mode data connection for ...”。如果我调用 noop() 我会得到“226 传输完成”结果。对于接下来的每个操作,我都会得到前一个操作的结果。

我发现,FTPClient 读取结果直到行尾,如果有两个结果行(如在retrieveFileStream()之后),我会在下一个命令之后得到第二个结果行。我通过重写 FTPClient.retrieveFileStream() 做了一个解决方法,如下所示:

public static void main(String[] args){
    try {
        MyFTPClient ftpClient = new MyFTPClient();
        try {
            ftpClient.connect(ftphost, 21);
            if(!ftpClient.login( ftpuser, ftppassword )){
                throw new RuntimeException(ftpClient.getReplyString());
            }
            if(!ftpClient.changeWorkingDirectory("in")){
                throw new RuntimeException(ftpClient.getReplyString());
            }
            FTPFile[] files = ftpClient.listFiles();
            for(FTPFile file: files){
                if(file.getName().startsWith(FILENAME) && (file.getType() == FTPFile.FILE_TYPE)){
                    InputStream in = ftpClient.retrieveFileStream(file.getName());
                    CsvFile csvFile = new CsvFile(in, "ISO-8859-1", ';', "yyyyMMdd", "#.00", Locale.US, false);
                    in.close();
                    in = …
Run Code Online (Sandbox Code Playgroud)

java ftp apache-commons apache-commons-net

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

Apache Commons 的最新 maven 依赖

我将此问题通过电子邮件发送至 dev@commons.apache.org,但尚未得到答复。

我正在尝试将 maven 依赖项添加到最新的 commons-collections 包中,我从站点看到的是 4.0 ( http://commons.apache.org/proper/commons-collections/javadocs/api-release/index.html)。

我从 maven central 看到它的版本是 20040616。这看起来像是日期而不是版本号。但是,jar 的内容似乎与http://commons.apache.org/proper/commons-collections/javadocs/api-release/index.html 上的 API 相匹配。我想确认这是否是我应该添加的实际 4.0 依赖项。

http://search.maven.org/#artifactdetails%7Ccommons-collections%7Ccommons-collections%7C20040616%7Cjar

公共收藏 公共收藏 20040616

谢谢,

文克

java apache-commons maven

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

Java或guava映射实现与多个指向单个值的键一起使用

我有一种情况,许多键指向一个值.这种情况来自我正在实施的服务定位器模式 -

  • 接口中的每个方法都表示为签名字符串
  • 单个接口的所有这些签名都用作密钥
  • 该值是实现类的完整规范名称

因此,我需要在用户请求任何匹配键时检索单个值.

从某种意义上说,我需要与Guava相反的MultiMap.

我正在寻找最优化的解决方案,因为我的密钥非常相似,虽然对于特定值是唯一的,但我不确定使用像HashMap这样的通用Map实现是否足以处理这种情况.

例如以下所有签名

==============

_org.appops.server.core.service.mocks.MockTestService_testOperationThree _org.appops.server.core.service.mocks.MockTestService_getService _org.appops.server.core.service.mocks.MockTestService_start _org.appops.server.core.service.mocks .MockTestService_testOperationTwo_String_int _org.appops.server.core.service.mocks.MockTestService_getName _org.appops.server.core.service.mocks.MockTestService_shutdown _org.appops.server.core.service.mocks.MockTestService_testOperationOne_String

=======

指向一个类,即org.appops.server.core.service.mocks.MockTestServiceImpl,我期待着几百个这样的类(值)和几千个这样的类似的签名(密钥)的.

如果没有优化的方法,我总是可以使用HashMap,每个键组都有复制值,我想避免使用.

理想情况下,我想使用Guava的ready实用程序.

java apache-commons guava

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

无法编组 EJB 参数 --- IllegalArgumentException:无法设置 org.apache.commons.collections.FastHashMap 字段

我在尝试使用远程界面保存搜索结果时收到以下错误SearchFacade.java

"Failed to marshal EJB parameters"
Run Code Online (Sandbox Code Playgroud)

无法将 org.apache.commons.collections.FastHashMap 字段 org.apache.commons.validator.Field.hMsgs 设置为 org.apache.commons.collections.FastHashMap at sun.reflect.UnsafeFieldAccessorImpl. throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146)

我正在使用 struts 1.1、EJB 2.1,使用 xdoclet 1.2.3 jar 来生成依赖文件。(这是不可避免的使用),其中我的 Local、Home 接口是使用 Xdoclet 生成的。

我还在我的项目中使用 Java 6、Jboss EAP 6.1 Alpha。

注意:相同的代码在 Jboss 4.0 中运行时工作正常

所以想知道我的远程调用是否正确。

欢迎任何帮助。

错误日志

java.lang.RuntimeException: JBAS014154: 无法在 org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver.java:270) 处封送 EJB 参数在 org.jboss.as.ejb3.remote.LocalEjbReceiver.clone(LocalEjbReceiver) .java:259) 在 org.jboss.as.ejb3.remote.LocalEjbReceiver.processInitation(LocalEjbReceiver.java:170) 在 org.jboss.ejb.client.EJBClientInvocal.sendRequest(EJBClientInvocalContext.java:181) 在 org.jboss. ejb.client.EJBHomeCreateInterceptor.handleInitation(EJBHomeCreateInterceptor.java:79)在 org.jboss.ejb.client.EJBClientInvocal.sendRequest(EJBClientInvocalContext.java:183)在 org.jboss.ejb.client.TransactionInterceptor.handleInitation(TransactionInterceptor.java: 42) 在 org.jboss.ejb.client.EJBClientInvocalContext.sendRequest(EJBClientInvocalContext.java:183) 在 org.jboss.ejb.client.ReceiverInterceptor.handleInvocal(ReceiverInterceptor.java:125) 在 org.jboss.ejb.client.EJBClientInspirationContext .sendRequest(EJBClientInvocalContext.java:183) 位于 org.jboss.ejb.client.EJBInvocalHandler.doInvoke(EJBInvocalHandler.java:177) 位于 org.jboss.ejb.client.EJBInvocalHandler.doInvoke(EJBInvocalHandler.java:161) 处。位于 com.web.history.SearchFormDelegate.saveSearch(SearchFormDelegate.java:177) 位于 com.history.SaveSearchAction.createNewSavedSearch 的 $Proxy25.saveSearch(未知来源) 处的 jboss.ejb.client.EJBInitationHandler.invoke(EJBInvocalHandler.java:124) (SaveSearchAction.java:109)在com.history.SaveSearchAction.executeSynchronized(SaveSearchAction.java:296)在com.dispatch.SynchronizedAction.execute(SynchronizedAction.java:206)在org.apache.struts.action.RequestProcessor.processActionPerform( …

xdoclet apache-commons struts-1 ejb-2.x jboss7.x

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