Java 如何使用Couchdb4j库向CouchDB添加附件
如何使用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
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依赖项来修复此问题