cardmeを使用して1つのファイルから複数のvcardを読み取る方法はありますか?ここに示されている例によると、それは不可能のようです。
1278 次
3 に答える
2
これを行うための組み込みメソッドはありません。ファイルを1行ずつ繰り返すことができます。END:VCARD
その後、このメソッドVCardEngine.parse(String)
を使用して、各VCardを1つずつ読み取ります。
このようなものが機能する可能性があります:
BufferedReader buffer = new BufferedReader(new FileReader("allcards.txt"));
VCardEngine engine = new VCardEngine();
StringBuilder builder = new StringBuilder();
List<VCard> vcards = new ArrayList<VCard>();
String line;
while ((line = buffer.readLine()) != null) {
builder.append(line);
if (line.contains("END:VCARD")) {
VCard vcard = engine.parse(builder.toString());
vcards.add(vcard);
builder = new StringBuilder();
}
}
于 2012-04-08T19:08:44.340 に答える
2
メソッドparseMultiple()がこの投稿よりも新しいかどうかはわかりませんが、これは私が使用しているバージョン(v0.3.3)で実際に可能です。
これは、Files配列を反復処理するメソッドです。この場合、各ファイルには複数のvcardが含まれている可能性があり、読み取られたすべてのVCardがリストに追加されます。
public List<VCard> importVCards() {
List<VCard> vcards = new ArrayList<VCard>();
vcardFiles = getFiles();
for(int i = 0; i < vcardFiles.length; i++){
try {
vcards.addAll(vcardEngine.parseMultiple(vcardFiles[i]));
}
catch(IOException ioe) {
System.err.println("Could not read vcard file:
"+vcardFiles[i].getAbsolutePath());
ioe.printStackTrace();
}
}
return vcards;
}
cardmeはここで見つけることができます:https ://github.com/george-haddad/cardme
于 2012-06-26T07:29:03.667 に答える
0
1つのファイルからの複数のvcardの解析をサポートするCardmeバージョン0.3.3がリリースされました。ここからダウンロードできますhttp://sourceforge.net/projects/cardme/files/Cardme/Card%20Me%20Version%200.3.3/
于 2012-05-10T15:19:17.167 に答える