我很有兴趣用java api或类似的东西解析exiftool结果.
我一直在研究,但我没有找到任何例子.例如,我怎样才能在我的java项目中获得这些结果?
ExifTool版本号:8.22
文件名:ExifTool.jpg
目录:t/images文件
大小:24 kB文件修改日期/时间
等等......我正在寻找'如何'或类似的东西.
我无法正确理解运行此代码时出现的错误:
InputStream is = this.getClass().getClassLoader().getResourceAsStream(filename);
String jsonTxt = IOUtils.toString(is);
JSONArray json = (JSONArray) JSONSerializer.toJSON(jsonTxt);
JSONObject metadatacontent = json.getJSONObject(0);
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(metadatacontent.toString(), MetadataContentBean.class.getClass());
Run Code Online (Sandbox Code Playgroud)
错误:
org.codehaus.jackson.map.JsonMappingException:不能在[来源反序列化java.lang.Class的实例进行START_OBJECT令牌:java.io.StringReader@e3b895; 行:1,柱:1]在org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:159)在org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:192)在有机.codehaus.jackson.map.deser.StdDeserializer $ ClassDeserializer.deserialize(StdDeserializer.java:439)在org.codehaus.jackson.map.deser.StdDeserializer $ ClassDeserializer.deserialize(StdDeserializer.java:421)在org.codehaus.jackson .map.ObjectMapper._readMapAndClose(ObjectMapper.java:1588)在org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1116)在com.path.parser.JSon.Parser(JSon.java:65)在COM.
这是什么意思??
也许如果我知道这一点,我可以找出我的错误.
根据solr文档,我正在尝试设置拼写检查程序.但是当我测试时,我没有任何建议.我的代码如下:
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">textSpell</str>
<lst name="spellchecker">
<str name="classname">solr.IndexBasedSpellChecker</str>
<str name="name">default</str>
<str name="field">name</str>
<str name="spellcheckIndexDir">./spellchecker</str>
</lst>
<str name="queryAnalyzerFieldType">textSpell</str>
</searchComponent>
<requestHandler name="/spellcheck" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<!-- Optional, must match spell checker's name as defined above, defaults to "default" -->
<str name="spellcheck.dictionary">default</str>
<!-- omp = Only More Popular -->
<str name="spellcheck.onlyMorePopular">false</str>
<!-- exr = Extended Results -->
<str name="spellcheck.extendedResults">false</str>
<!-- The number of suggestions to return -->
<str name="spellcheck.count">1</str>
</lst>
<arr name="last-components">
<str>spellcheck</str>
</arr>
</requestHandler>
Run Code Online (Sandbox Code Playgroud)
我发送给Solr的查询:
q …
我正在使用这段代码创建一个临时文件:
String tmpDirectoryOp = System.getProperty("java.io.tmpdir");
File tmpDirectory = new File(tmpDirectoryOp);
File fstream = File.createTempFile("tmpDirectory",".flv", tmpDirectory);
FileOutputStream fos = new FileOutputStream(fstream);
DataOutputStream dos=new DataOutputStream(fos);
dos.writeChars("Write something");
fstream.deleteOnExit();
fos.close();
dos.close();
Run Code Online (Sandbox Code Playgroud)
但tmpDirectory.flv我的项目文件夹中没有.写句子是一个循环,这需要很长时间才能完成,所以问题不是文件被删除才能看到它.
任何的想法?提前致谢
我有以下类层次结构: 编辑
public abstract class A implements Content {
private long id;
....
}
@JsonPropertyOrder({"id"})
public class B extends A{
private String oderField;
...
}
public interface Content{
//Some get methods
}
@JsonPropertyOrder({"c"})
public class DefaultContent{
private Content c;
private String anotherProperty;
}
Run Code Online (Sandbox Code Playgroud)
通过序列化一个B对象,我在 JSON 中看到的第一个字段是oderField,我想更改它,并id首先获取它。
序列化:
public class Serializer{
private Gson gson;
public Serializer(){
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
gson = gsonBuilder.create();
gsonParser = new JsonParser();
}
public String serializeMessage(DefaultContent …Run Code Online (Sandbox Code Playgroud) 执行这段代码:
SimpleDateFormat sdfIn = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sdfIn.parse(value11);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SimpleDateFormat sdfOut = new SimpleDateFormat("MMM d, yyyy");
System.out.println(sdfOut.format( date ));
Run Code Online (Sandbox Code Playgroud)
我得到这个输出nov 23, 2005而不是Nov 23, 2005更好.
有谁知道怎么改变它?提前致谢
昨天我正在使用安装在我电脑上的MySQL.
我下载了xampp,所以我在my.cnf文件中更改了套接字的路径:
/opt/lampp/var/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
那个文件就在那里.今天我想继续努力,我发现文件不再存在,所以我在启动mysql服务器时遇到以下错误:
ERROR 2002 (HY000):
Can't connect to local MySQL server through socket
'/opt/lampp/var/mysql/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)
以下是我做的一些测试:
mujeresponja@ubuntu:~$ ps -fea | grep mysqld
1000 15707 15615 0 16:28 pts/1 00:00:00 grep --color=auto mysqld
mujeresponja@ubuntu:~$ ps -fea | grep mysql
1000 15709 15615 0 16:29 pts/1 00:00:00 grep --color=auto mysql
Run Code Online (Sandbox Code Playgroud)
作为一种可能的解决方案,我卸载了xampp并重新安装它,以及一个新的MySQL服务器,以防万一.无论如何,那个文件不再存在了.
编辑 mysql.sock应该在哪里,而是有两个文件mysql_upgrade_info(其中只包含5.5.8)和另一个名为ubuntu.err的二进制文件:
mujeresponja@ubuntu:/opt/lampp/var/mysql$ sudo cat ubuntu.err
110403 17:28:52 mysqld_safe Starting mysqld daemon with databases from /opt/lampp/var/mysql
110403 17:28:52 [Note] Plugin 'FEDERATED' is disabled.
/opt/lampp/sbin/mysqld: Can't find file: …Run Code Online (Sandbox Code Playgroud) 使用spring,下面是applicationContext-service.xml的代码:
<bean id="mediaObjectService" class="path.MediaObjectServiceImpl">
<property name="mediaObjectDao" >
<ref bean="mediaObjectDao"/>
</property>
<property name="semanticQuestionDao" >
<ref bean="semanticQuestionDao"/>
</property>
<aop:scoped-proxy/>
</bean>
Run Code Online (Sandbox Code Playgroud)
在做测试时,我得到了他的错误:
org.springframework.beans.factory.BeanCreationException:在类路径资源[applicationContext-service.xml]中定义的名称为"scopedTarget.mediaObjectService"的bean创建错误:bean的初始化失败; 嵌套异常是java.lang.NoSuchMethodError:net.sf.cglib.proxy.Enhancer.setInterceptDuringConstruction(Z)V
据我所知,会话范围对象总是有一个名为scopedTarget.bean-id名称的前缀.
所以,如果我是对的,那mediaObjectService就是bean-id,它是正确的声明.
也许我错了,但无论如何,我没有看到我犯的错误.
任何帮助?
提前致谢
我有一个JSF/RichFaces设置,我找到了本教程.我一步一步地跟着它,但我无法得到它.
另外:教程中提到了language.jsp,有人可以告诉我它有什么特别之处吗?
或者,如果您认为这不是一个合适的教程并且有更好的教程,请告诉我.
我有一个hashmap列表.一个字段是一个整数,另一个是一个布尔值,它会告诉我该项是否被选中.
最终目的是更改ArrayList,取消选择已选择的旧项目,并标记新项目.我制作了这段代码,但我想知道是否有更好的方法来做到这一点.
VisualizationBean visualizationBean = new VisualizationBean();
ArrayList<HashMap<Boolean, Integer>> resultsPerPage = visualizationBean.getResultsPerPage();
for (Iterator iterator = resultsPerPage.iterator(); iterator.hasNext();) {
HashMap<Boolean, Integer> hashMap = (HashMap<Boolean, Integer>) iterator.next();
if(hashMap.containsKey(true)){
int beforeSelected = hashMap.get("true");
hashMap.put(false, beforeSelected);
}
else{
if(hashMap.get(false) == number){
hashMap.put(true, number);
}
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
列出ArrayList时遇到问题.我的代码:
Iterator<String> iterator = (Iterator<String>) myList.iterator();
while (iterator.hasNext()) {//List tagListAux
System.out.println("Test -> "+iterator.next());
if(iterator.next().equalsIgnoreCase(myString)){
flag = true;
}
myList.add(myString);
Run Code Online (Sandbox Code Playgroud)
我得到的例外:
java.util.NoSuchElementException
at java.util.AbstractList$Itr.next(AbstractList.java:350)
at myFileinJava(myFileinJava.java:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么??在我遇到并发问题之前,已经解决了更改迭代器声明的问题.
提前致谢