我在一个单独的war文件中部署时创建了一个工作正常的servlet,但我打算将它用作seam应用程序的一部分.
我使用commons-fileupload,但迭代器(请参阅片段)返回false(仅当包含在seam-app中时).
有任何想法吗?
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String action = request.getParameter( "action" );
if ( ServletFileUpload.isMultipartContent( request ) ) {
log.info( "MULTIPART" );
}
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator( request );
// --------- hasNext() returns false, only in seam -----------
while ( iter.hasNext() ) {
......
}
Run Code Online (Sandbox Code Playgroud)
附加信息:我不想使用此处描述的技术,因为上传客户端是卷曲的.
的HttpServletRequest是由包裹org.jboss.seam.web.IdentityRequestWrapper使用缝
我想转换包含空格和符号的文件名,只包含字符AZ,az,句点,连字符和下划线.像这样的正则表达式:([a-z][A-Z]-_\.)+
当然,我可以用正则表达式做到这一点.但是因为我已经在我的项目中包含了许多库(Spring,Hibernate,Apache Commons等等),所以我想知道这样的东西是否已经可用.
所以像这样的字符串:
This>is some(string,with $invalid*-chars).jpg
Run Code Online (Sandbox Code Playgroud)
将转换为:
This_is_some_string_with__invalid_-chars_.jpg
Run Code Online (Sandbox Code Playgroud) public static <T> List<T> repeat(T contents, int length) {
List<T> list = new ArrayList<T>();
for (int i = 0; i < length; i++) {
list.add(contents);
}
return list;
}
Run Code Online (Sandbox Code Playgroud)
这是我们的专有公共库中的实用方法.它对于创建列表很有用.例如,我可能想要一个包含68个问号的列表来生成大型SQL查询.这使您可以在一行代码中执行此操作,而不是四行代码.
在java/apache-commons中是否有一个实用程序类已经这样做了?我浏览了ListUtils,CollectionUtils,Arrays,Collections,几乎我能想到的一切,但我无法在任何地方找到它.我不喜欢在我的代码中保留通用实用程序方法,如果可能的话,因为它们通常是apache库的冗余.
我读过一些比较Guava和Apache Commons的帖子,大多数海报都喜欢使用Guava.
我也更喜欢使用Guava,尽管我经常发现自己需要结合Guava和Apache Commons的能力.
例如,我想对集合的所有元素执行操作.
我使用Guava的唯一方法就是调用transform方法.
但它使用Function获取值并返回另一个值,而我不需要返回另一个值.
例如,我只需要在Map不更改集合的情况下为a添加一些新条目.使用Apache Commons我会使用CollectionUtils.forAllDo.
如何在CollectionUtils.forAlDo不必返回某些值的情况下获得相同的效果?
我在另一个zip文件中有一个zip文件(让我们说'inside.zip')(让我们说'outside.zip').我正在使用Apache的common-vfs2 Java库并提供一个像zip:file:///path/to/outside.zip打开zip文件的uri .但是,它无法打开外部存在的zip文件.例如,它说它的文件不是文件夹而且找不到任何子文件zip:file:///path/to/outside.zip!/inside.zip.什么是使用该库的最佳方式(我正在寻找合适的uri)所以我可以在另一个zip文件中打开zip文件?
有谁知道实现Apache的进度条的任何方式FileUtils.copyDirectory(File src, File dst)?我没有看到任何有用的JavaDocs和API.在处理批量磁盘操作时似乎是一个常见的用例,所以我不确定我是否会错过一些明显的东西.
有这样的magicMethod工作:
List<E> resultList = magicMethod((Iterator<E>)inputIterator);
Run Code Online (Sandbox Code Playgroud)
NB:resultList应该是可变的.
我想解析具有不同潜在格式的日期DateUtils.parseDate.看来使用第一语法分析器,即使它应该检测之间的差异23/10/2014和2014/10/23.
它实际上解析了日期,即使它是错误的,所以我甚至无法捕获异常.我能怎么做?这是一个错误吗?(公地lang3-3.3.2)
这是一段代码片段
package snippet;
import java.text.ParseException;
import java.util.Date;
import org.apache.commons.lang3.time.DateUtils;
public class TestDateFormat {
public static void main(String[] args) throws ParseException {
Date d = DateUtils.parseDate("23/10/2014T12:34:22",
new String[] {"yyyy/MM/dd'T'HH:mm:ss",
"dd/MM/yyyy'T'HH:mm:ss"});
System.out.println(d);
//returns Tue Apr 05 12:34:22 CET 29 which is wrong
}
}
Run Code Online (Sandbox Code Playgroud) 我最近更新了我的应用程序以使用最新的Android 6.0 SDK,但是当我这些导入停止工作时.
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
Run Code Online (Sandbox Code Playgroud)
我试图添加HttpCore和HttpClient gradle,但只有前四个导入才得到解决.
'org.apache.httpcomponents:httpcore:4.4.1'
Run Code Online (Sandbox Code Playgroud)
有谁知道我怎么解决这个问题?提前致谢!:)
当我从URL这样下载文件时如何获取原始文件名
File file = new File( "test" ) ;
FileUtils.copyURLToFile(URL, file)
Run Code Online (Sandbox Code Playgroud)
因为当我创建文件时我必须输入一个名称但在此阶段我还不知道下载文件的原始名称.