Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Couchdb4j库向CouchDB添加附件_Java_Javascript_Couchdb - Fatal编程技术网

Java 如何使用Couchdb4j库向CouchDB添加附件

Java 如何使用Couchdb4j库向CouchDB添加附件,java,javascript,couchdb,Java,Javascript,Couchdb,如何使用Java应用程序使用Couchdb4J库将系统文件作为附件添加到Couchdb数据库 我试图修改下面的示例代码,但有一个未解决的错误。有人知道我的错误在哪里以及如何纠正吗?提前谢谢 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map

如何使用Java应用程序使用Couchdb4J库将系统文件作为附件添加到Couchdb数据库

我试图修改下面的示例代码,但有一个未解决的错误。有人知道我的错误在哪里以及如何纠正吗?提前谢谢

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import com.fourspaces.couchdb.CouchResponse;
import com.fourspaces.couchdb.Database;
import com.fourspaces.couchdb.Document;
import com.fourspaces.couchdb.Session;

public class FileScanner {

Session priceListDocsSession = new Session("localhost",5984);
  Database db = priceListDocsSession.getDatabase("filesdb");

  public static void main(String[] args) {
  FileScanner fs = new FileScanner();

 fs.processDir(new File("C:\\CouchDB"));
}

void processDir(File f) {
if (f.isFile()) {
  Map<String, Object> doc = new HashMap<String, Object>();
  doc.put("name", f.getName());
  doc.put("path", f.getAbsolutePath());
  doc.put("size", f.length());


  db.saveDocument(doc);
  InputStream is = new FileInputStream(f);
  String att=db.putAttachment(doc.getId(),doc.getRev(),f,is);
   } 
else {
  File[] fileList = f.listFiles();
  if (fileList == null) return;
  for (int i = 0; i < fileList.length; i++) {
    try {
      processDir(fileList[i]);
     } catch (Exception e) {
      System.out.println(e);
        }

      }
    }
  }
}
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.IOException;
导入java.io.InputStream;
导入java.util.HashMap;
导入java.util.Map;
导入com.fourspaces.couchdb.CouchResponse;
导入com.fourspaces.couchdb.Database;
导入com.fourspaces.couchdb.Document;
导入com.fourspaces.couchdb.Session;
公共类文件扫描程序{
会话价格ListDocsession=新会话(“本地主机”,5984);
Database db=priceListDocsSession.getDatabase(“filesdb”);
公共静态void main(字符串[]args){
FileScanner fs=newfilescanner();
processDir(新文件(“C:\\CouchDB”);
}
void processDir(文件f){
if(f.isFile()){
Map doc=new HashMap();
doc.put(“name”,f.getName());
doc.put(“路径”,f.getAbsolutePath());
文件放置(“尺寸”,f.长度());
db.saveDocument(doc);
InputStream is=新文件InputStream(f);
字符串att=db.putAttachment(doc.getId(),doc.getRev(),f,is);
} 
否则{
File[]fileList=f.listFiles();
if(fileList==null)返回;
for(int i=0;i
错误出现在
db.saveDocument(doc)上


String att=db.putAttachment(doc.getId(),doc.getRev(),f,is)
表示类型映射的
.getId()
getRev()
未定义

我设法通过在类路径上添加一些jcouchdb依赖项来修复此问题