我的java程序将监视一个目录,如果该目录有新的文件,它将获取该文件并通过API调用将其发送到我的服务器。该文件必须以单件形式发送,因此我无法使用任何阅读器来阅读文件内容
这是我的示例程序的一部分
for(WatchEvent<?> event : wk.pollEvents())
{
WatchEvent.Kind<?> type = event.kind();
Path fileName = (Path)event.context();
System.out.println(fileName+ "is a new file");
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://192.168.0.27:8008/file");
String ConvertFile = String.valueOf(fileName);
FileBody bin = new FileBody(new File(ConvertFile));
HttpEntity reqEntity = MultipartEntityBuilder.create()
.addPart("display_name", bin)
.build();
post.addHeader("filename", ConvertFile);
post.setEntity(reqEntity);
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
这是我的代码部分,我怀疑带给我的错误信息如下所示
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/util/Args
at org.apache.http.entity.mime.content.AbstractContentBody.<init>(AbstractContentBody.java:48)
at org.apache.http.entity.mime.content.FileBody.<init>(FileBody.java:96)
at org.apache.http.entity.mime.content.FileBody.<init>(FileBody.java:89)
at FileDetect.main(FileDetect.java:52)
Caused by: java.lang.ClassNotFoundException: org.apache.http.util.Args
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 4 more
我怀疑 FileBody 不能使用我的 Path 类,其中包含我的新文件信息。我测试过我的目录中是否有新文件出现,System.out.println(fileName+ "is a new file");
能够正确地执行它的工作,告诉我新的文件到达了,我是否知道(Path)event.context();
语法会得到内容仅限文件或文件名,源代码中文件名的数据类型是什么? FileBody 将收集文件并通过API调用将其发送到我的服务器
答案 0 :(得分:0)
http://www.java2s.com/Code/Jar/h/Downloadhttpcore43beta1jar.htm
检查一下: org/apache/http/util/Args (java.lang.NoClassDefFoundError). Message payload is of type: String