• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Java WARCWriter类的典型用法和代码示例

java 1次浏览

本文整理汇总了Java中org.archive.io.warc.WARCWriter的典型用法代码示例。如果您正苦于以下问题:Java WARCWriter类的具体用法?Java WARCWriter怎么用?Java WARCWriter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。

WARCWriter类属于org.archive.io.warc包,在下文中一共展示了WARCWriter类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: writeRequest

点赞 3

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeRequest(final WARCWriter w,
        final String timestamp, final String mimetype,
        final URI baseid, final CrawlURI curi,
        final ANVLRecord namedFields) 
throws IOException {
    final URI uid = qualifyRecordID(baseid, TYPE, REQUEST);
    ReplayInputStream ris =
        curi.getHttpRecorder().getRecordedOutput().getReplayInputStream();
    try {
        w.writeRequestRecord(curi.toString(), timestamp, mimetype, uid,
            namedFields, ris,
            curi.getHttpRecorder().getRecordedOutput().getSize());
    } finally {
        if (ris != null) {
            ris.close();
        }
    }
    return uid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:20,
代码来源:WARCWriterProcessor.java

示例2: writeResponse

点赞 3

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeResponse(final WARCWriter w,
        final String timestamp, final String mimetype,
        final URI baseid, final CrawlURI curi,
        final ANVLRecord namedFields) 
throws IOException {
    ReplayInputStream ris =
        curi.getHttpRecorder().getRecordedInput().getReplayInputStream();
    try {
        w.writeResponseRecord(curi.toString(), timestamp, mimetype, baseid,
            namedFields, ris,
            curi.getHttpRecorder().getRecordedInput().getSize());
    } finally {
        if (ris != null) {
            ris.close();
        }
    }
    return baseid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:19,
代码来源:WARCWriterProcessor.java

示例3: writeResource

点赞 3

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeResource(final WARCWriter w,
        final String timestamp, final String mimetype,
        final URI baseid, final CrawlURI curi,
        final ANVLRecord namedFields) 
throws IOException {
    ReplayInputStream ris =
        curi.getHttpRecorder().getRecordedInput().getReplayInputStream();
    try {
        w.writeResourceRecord(curi.toString(), timestamp, mimetype, baseid,
            namedFields, ris,
            curi.getHttpRecorder().getRecordedInput().getSize());
    } finally {
        if (ris != null) {
            ris.close();
        }
    }
    return baseid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:19,
代码来源:WARCWriterProcessor.java

示例4: createWARCWriter

点赞 3

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
/**
 * Create new WARCWriter, writing to warcfile newFile.
 * @param newFile the WARCfile, that the WARCWriter writes to.
 * @return new WARCWriter, writing to warcfile newFile.
 */
public static WARCWriter createWARCWriter(File newFile) {
    WARCWriter writer;
    PrintStream ps = null;
    try {
        ps = new PrintStream(new FileOutputStream(newFile));
        writer = new WARCWriterNAS(
                new AtomicInteger(), ps,
                //This name is used for the first (file metadata) record
                newFile, 
                false, //Don't compress
                //Use current time
                ArchiveDateConverter.getWarcDateFormat().format(new Date()),
                null //No particular file metadata to add
        );
    } catch (IOException e) {
        if (ps != null) {
            ps.close();
        }
        String message = "Could not create WARCWriter to file '"
                + newFile + "'.\n";
        log.warn(message);
        throw new IOFailure(message, e);
    }
    return writer;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:31,
代码来源:WARCUtils.java

示例5: CommonCrawlFormatWARC

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
public CommonCrawlFormatWARC(Configuration nutchConf,
    CommonCrawlConfig config) throws IOException {
  super(null, null, null, nutchConf, config);

  this.out = new ByteArrayOutputStream();

  ANVLRecord info = WARCUtils.getWARCInfoContent(nutchConf);
  List<String> md = Collections.singletonList(info.toString());

  this.outputDir = config.getOutputDir();

  if (null == outputDir) {
    String message = "Missing output directory configuration: " + outputDir;

    throw new RuntimeException(message);
  }

  File file = new File(outputDir);

  long maxSize = WARCConstants.DEFAULT_MAX_WARC_FILE_SIZE;

  if (config.getWarcSize() > 0) {
    maxSize = config.getWarcSize();
  }

  WARCWriterPoolSettingsData settings = new WARCWriterPoolSettingsData(
      WriterPoolMember.DEFAULT_PREFIX, TEMPLATE, maxSize,
      config.isCompressed(), Arrays.asList(new File[] { file }), md,
      new UUIDGenerator());

  writer = new WARCWriter(SERIALNO, settings);
}
 

开发者ID:jorcox,
项目名称:GeoCrawler,
代码行数:33,
代码来源:CommonCrawlFormatWARC.java

示例6: nutchSegmentToWARCFile

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
/**
 * Converts a content from Nutch stored in a segment folder into a bz2 WARC file
 *
 * @param segmentFile   Nutch segment folder
 * @param outDir        output warc file
 * @param fileName
 * @param fileExtension
 * @param conf          hadoop configuraion
 * @param compressBz2   @throws IOException
 * @throws ParseException
 */
public void nutchSegmentToWARCFile(Path segmentFile, File outDir, String fileName,
        String fileExtension, Configuration conf, boolean compressBz2)
        throws IOException, ParseException
{
    // reader for hadoop sequence file
    SequenceFile.Reader reader = new SequenceFile.Reader(conf,
            SequenceFile.Reader.file(segmentFile));

    // get writer
    WARCWriter writer = prepareOutputWarcFile(outDir, fileName, this.totalFilesWritten,
            fileExtension, compressBz2);

    Text key = new Text();
    Content content = new Content();

    while (reader.next(key, content)) {
        write(writer, content);

        // close file and create a new one if limit reached
        if (this.totalBytesWritten > FILE_LIMIT_1GB) {
            writer.close();
            // reset counters
            this.totalFilesWritten++;
            this.totalBytesWritten = 0;

            // new output
            writer = prepareOutputWarcFile(outDir, fileName, this.totalFilesWritten,
                    fileExtension, compressBz2);
        }
    }

    writer.close();
    reader.close();

    System.out.println("Total WARC entries: " + entriesCounter);
}
 

开发者ID:habernal,
项目名称:nutch-content-exporter,
代码行数:48,
代码来源:NutchToWARCConverter.java

示例7: createWarcWriter

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
private synchronized void createWarcWriter() {
    if (this.writer != null) {
        return;
    }
    List<File> outputDirs = Arrays.asList(directory.toFile());
    List<String> metadata = new ArrayList<>();
    this.writer = new WARCWriter(new AtomicInteger(),
            new WARCWriterPoolSettingsData("crawl_data", "${prefix}-${timestamp17}-${serialno}",
                    this.maxFileSize, this.compress, outputDirs, metadata, generator));
}
 

开发者ID:ViDA-NYU,
项目名称:ache,
代码行数:11,
代码来源:WarcTargetRepository.java

示例8: writeFtpControlConversation

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeFtpControlConversation(WARCWriter w, String timestamp, URI baseid,
        CrawlURI curi, ANVLRecord headers, String controlConversation) 
throws IOException {
    final URI uid = qualifyRecordID(baseid, TYPE, METADATA);
    byte[] b = controlConversation.getBytes("UTF-8");
    w.writeMetadataRecord(curi.toString(), timestamp, FTP_CONTROL_CONVERSATION_MIMETYPE,
        uid, headers, new ByteArrayInputStream(b), b.length);
    return uid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:10,
代码来源:WARCWriterProcessor.java

示例9: writeRevisitDigest

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeRevisitDigest(final WARCWriter w,
        final String timestamp, final String mimetype,
        final URI baseid, final CrawlURI curi,
        final ANVLRecord namedFields) 
throws IOException {
    namedFields.addLabelValue(
            HEADER_KEY_PROFILE, PROFILE_REVISIT_IDENTICAL_DIGEST);
    namedFields.addLabelValue(
            HEADER_KEY_TRUNCATED, NAMED_FIELD_TRUNCATED_VALUE_LENGTH);
    
    ReplayInputStream ris = null;
    long revisedLength = 0;
    
    // null mimetype implies no payload
    if (mimetype != null) {
        ris = curi.getHttpRecorder().getRecordedInput().getReplayInputStream();
        revisedLength = curi.getHttpRecorder().getRecordedInput().getContentBegin();
        revisedLength = revisedLength > 0 
            ? revisedLength 
            : curi.getHttpRecorder().getRecordedInput().getSize();
    }
    
    try {
        w.writeRevisitRecord(curi.toString(), timestamp, mimetype, baseid,
            namedFields, ris, revisedLength);
    } finally {
        if (ris != null) {
            ris.close();
        }
    }
    curi.addAnnotation("warcRevisit:digest"); 
    return baseid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:34,
代码来源:WARCWriterProcessor.java

示例10: writeRevisitNotModified

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeRevisitNotModified(final WARCWriter w,
        final String timestamp, 
        final URI baseid, final CrawlURI curi,
        final ANVLRecord namedFields) 
throws IOException {
    namedFields.addLabelValue(
            HEADER_KEY_PROFILE, PROFILE_REVISIT_NOT_MODIFIED);
    // save just enough context to understand basis of not-modified
    if(curi.containsKey(A_HTTP_TRANSACTION)) {
        HttpMethodBase method = 
            (HttpMethodBase) curi.getObject(A_HTTP_TRANSACTION);
        saveHeader(A_ETAG_HEADER,method,namedFields,HEADER_KEY_ETAG);
        saveHeader(A_LAST_MODIFIED_HEADER,method,namedFields,
                HEADER_KEY_LAST_MODIFIED);
    }
    // truncate to zero-length (all necessary info is above)
    namedFields.addLabelValue(HEADER_KEY_TRUNCATED,
        NAMED_FIELD_TRUNCATED_VALUE_LENGTH);
    ReplayInputStream ris =
        curi.getHttpRecorder().getRecordedInput().getReplayInputStream();
    try {
        w.writeRevisitRecord(curi.toString(), timestamp, null, baseid,
            namedFields, ris, 0);
    } finally {
        if (ris !=  null) {
            ris.close();
        }
    }
    curi.addAnnotation("warcRevisit:notModified"); 
    return baseid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:32,
代码来源:WARCWriterProcessor.java

示例11: getTestWARCWriter

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
/** Encapsulate WARCWriter creation for test-purposes.
 * @param stream the PrintStream
 * @param warcfile the destination warcfile
 * @throws IOException
 * @return new WARCWriter 
 */
public static WARCWriter getTestWARCWriter(PrintStream stream, File warcfile)
throws IOException {
    return 
        new WARCWriterNAS(new AtomicInteger(), stream, warcfile, 
                false, //Don't compress
                ArchiveUtils.get14DigitDate(System.currentTimeMillis()), //Use current time
                null //No particular file metadata to add
                );
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:16,
代码来源:WARCUtilsTester.java

示例12: testWarcCopy

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
public void testWarcCopy() {
    try {
        byte[] warcBytes = (
                "WARC/1.0\r\n"
                + "WARC-Type: metadata\r\n"
                + "WARC-Target-URI: metadata://netarkivet.dk/crawl/setup/duplicatereductionjobs?majorversion=1&minorversion=0&harvestid=1&harvestnum=59&jobid=86\r\n"
                + "WARC-Date: 2012-08-24T11:42:55Z\r\n"
                + "WARC-Record-ID: <urn:uuid:c93099e5-2304-487e-9ff2-41e3c01c2b51>\r\n"
                + "WARC-Payload-Digest: sha1:SUCGMUVXDKVB5CS2NL4R4JABNX7K466U\r\n"
                + "WARC-IP-Address: 207.241.229.39\r\n"
                + "WARC-Concurrent-To: <urn:uuid:e7c9eff8-f5bc-4aeb-b3d2-9d3df99afb30>\r\n"
                + "WARC-Concurrent-To: <urn:uuid:e7c9eff8-f5bc-4aeb-b3d2-9d3df99afb31>\r\n"
                + "Content-Type: text/plain\r\n"
                + "Content-Length: 2\r\n"
                + "\r\n"
                + "85"
                + "\r\n"
                + "\r\n").getBytes();
        File orgFile = new File(TestInfo.WORKING_DIR, "original4copy.warc");
        FileUtils.writeBinaryFile(orgFile, warcBytes);

        File copiedFile = new File(TestInfo.WORKING_DIR, "copied.warc");
        WARCWriter writer = WARCUtils.createWARCWriter(copiedFile);
        WARCUtils.insertWARCFile(orgFile, writer);
        writer.close();

        byte[] bytes = FileUtils.readBinaryFile(copiedFile);
        //System.out.println( new String(bytes));

        WARCReader reader = WARCReaderFactory.get(copiedFile);
        Assert.assertNotNull(reader);
        ArchiveRecord record = reader.get();
        Assert.assertNotNull(record);
        ArchiveRecordHeader header = record.getHeader();
        Assert.assertNotNull(header);

        Assert.assertEquals("metadata", header.getHeaderValue("WARC-Type"));
        Assert.assertEquals("metadata://netarkivet.dk/crawl/setup/duplicatereductionjobs?majorversion=1&minorversion=0&harvestid=1&harvestnum=59&jobid=86", header.getHeaderValue("WARC-Target-URI"));
        Assert.assertEquals("2012-08-24T11:42:55Z", header.getHeaderValue("WARC-Date"));
        Assert.assertEquals("<urn:uuid:c93099e5-2304-487e-9ff2-41e3c01c2b51>", header.getHeaderValue("WARC-Record-ID"));
        Assert.assertEquals("sha1:SUCGMUVXDKVB5CS2NL4R4JABNX7K466U", header.getHeaderValue("WARC-Payload-Digest"));
        Assert.assertEquals("207.241.229.39", header.getHeaderValue("WARC-IP-Address"));
        Assert.assertEquals("<urn:uuid:e7c9eff8-f5bc-4aeb-b3d2-9d3df99afb31>", header.getHeaderValue("WARC-Concurrent-To"));
        Assert.assertEquals("text/plain", header.getHeaderValue("Content-Type"));
        Assert.assertEquals("2", header.getHeaderValue("Content-Length"));
    }
    catch (IOException e) {
        e.printStackTrace();
        Assert.fail("Unexpected exception!");
    }

}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:53,
代码来源:WARCUtilsTester.java

示例13: write

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected void write(final WARCWriter writer, final Content content)
        throws IOException, ParseException
{
    WARCRecordInfo recordInfo = new WARCRecordInfo();
    recordInfo.setUrl(content.getUrl());

    byte[] byteContent = content.getContent();

    // skip empty records
    if (byteContent.length == 0) {
        return;
    }

    recordInfo.setContentStream(new ByteArrayInputStream(byteContent));
    recordInfo.setContentLength(byteContent.length);
    recordInfo.setEnforceLength(true);

    String warcDateString = DEFAULT_WARC_DATE;

    // convert date to WARC-Date format
    String date = content.getMetadata().get("Date");
    if (date != null) {
        try {
            warcDateString = String.valueOf(
                    new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss ZZZ", Locale.ENGLISH)
                            .parse(date).getTime());
        }
        catch (ParseException ex) {
            // ignore
        }
    }

    recordInfo.setCreate14DigitDate(warcDateString);

    recordInfo.setType(WARCConstants.WARCRecordType.response);
    recordInfo.setMimetype(WARCConstants.HTTP_RESPONSE_MIMETYPE);
    recordInfo.setRecordId(generator.getRecordID());

    // add some extra headers from nutch
    Set<String> extraHeaders = new HashSet<String>(
            Arrays.asList("nutch.crawl.score", "nutch.segment.name", "Set-Cookie",
                    "Content-Type", "Server", "Pragma", "Cache-Control"));

    for (String extraHeader : extraHeaders) {
        String value = content.getMetadata().get(extraHeader);
        if (value != null) {
            recordInfo.addExtraHeader("Nutch_" + extraHeader, value);
        }
    }

    // apply filters
    boolean acceptExport = true;
    for (ExportContentFilter filter : filters) {
        acceptExport &= filter.acceptContent(recordInfo);
    }

    // and write only if we accept this content
    if (acceptExport) {
        writer.writeRecord(recordInfo);

        totalBytesWritten += byteContent.length;
        entriesCounter++;
    }

}
 

开发者ID:habernal,
项目名称:nutch-content-exporter,
代码行数:66,
代码来源:NutchToWARCConverter.java

示例14: getWriter

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
WARCWriter getWriter() {
    return writer;
}
 

开发者ID:ViDA-NYU,
项目名称:ache,
代码行数:4,
代码来源:WarcTargetRepository.java

示例15: testReadingMultipleWarcRecords

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
@Test
public void testReadingMultipleWarcRecords() throws Exception {
    String folder = tempFolder.newFolder().toString();

    String url1 = "http://a.com";
    String url2 = "http://b.com";

    Page target1 = new Page(new URL(url1), html, responseHeaders);
    target1.setFetchTime(System.currentTimeMillis());

    Page target2 = new Page(new URL(url2), html, responseHeaders);
    target2.setFetchTime(System.currentTimeMillis());

    WarcTargetRepository repository = new WarcTargetRepository(folder);

    // when
    repository.insert(target1);
    repository.insert(target2);
    repository.close();

    WARCWriter writer = repository.getWriter();
    WARCReader reader = WARCReaderFactory.get(writer.getFile());

    // Get to second record. Get its offset for later use.
    boolean readWarcInfoRecord = false;
    boolean readFirst = false;
    boolean readSecond = false;

    for (final Iterator<ArchiveRecord> i = reader.iterator(); i.hasNext();) {
        WARCRecord ar = (WARCRecord) i.next();
        if (!readWarcInfoRecord) {
            readWarcInfoRecord = true;
        } else if (!readFirst) {
            readFirst = true;
            assertThat(ar.getHeader().getUrl(), is(url1));
            continue;
        } else if (!readSecond) {
            url = ar.getHeader().getUrl();
            assertThat(ar.getHeader().getUrl(), is(url2));
            readSecond = true;
        }
    }
    reader.close();
}
 

开发者ID:ViDA-NYU,
项目名称:ache,
代码行数:45,
代码来源:WarcTargetRepositoryTest.java

示例16: write

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected void write(final String lowerCaseScheme, final CrawlURI curi)
throws IOException {
    logger.info("writing warc record for " + curi);
    WriterPoolMember writer = getPool().borrowFile();
    long position = writer.getPosition();
    // See if we need to open a new file because we've exceeed maxBytes.
    // Call to checkFileSize will open new file if we're at maximum for
    // current file.
    writer.checkSize();
    if (writer.getPosition() != position) {
        // We just closed the file because it was larger than maxBytes.
        // Add to the totalBytesWritten the size of the first record
        // in the file, if any.
        setTotalBytesWritten(getTotalBytesWritten() +
            (writer.getPosition() - position));
        position = writer.getPosition();
    }
    
    WARCWriter w = (WARCWriter)writer;
    try {
        // Write a request, response, and metadata all in the one
        // 'transaction'.
        final URI baseid = getRecordID();
        final String timestamp =
            ArchiveUtils.getLog14Date(curi.getLong(A_FETCH_BEGAN_TIME));
        if (lowerCaseScheme.startsWith("http")) {
            writeHttpRecords(w, curi, baseid, timestamp); 
        } else if (lowerCaseScheme.equals("dns")) {
            writeDnsRecords(w, curi, baseid, timestamp);
        } else if (lowerCaseScheme.equals("ftp") || lowerCaseScheme.equals("sftp")) {
            writeFtpRecords(w, curi, baseid, timestamp); 
        } else {
            logger.warning("No handler for scheme " + lowerCaseScheme);
        }
    } catch (IOException e) {
        // Invalidate this file (It gets a '.invalid' suffix).
        getPool().invalidateFile(writer);
        // Set the writer to null otherwise the pool accounting
        // of how many active writers gets skewed if we subsequently
        // do a returnWriter call on this object in the finally block.
        writer = null;
        throw e;
    } finally {
        if (writer != null) {
            setTotalBytesWritten(getTotalBytesWritten() +
                 (writer.getPosition() - position));
            getPool().returnFile(writer);
        }
    }
    checkBytesWritten();
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:52,
代码来源:WARCWriterProcessor.java

示例17: writeMetadata

点赞 2

import org.archive.io.warc.WARCWriter; //导入依赖的package包/类
protected URI writeMetadata(final WARCWriter w,
        final String timestamp,
        final URI baseid, final CrawlURI curi,
        final ANVLRecord namedFields, boolean writeOutlinks) 
throws IOException {
    final URI uid = qualifyRecordID(baseid, TYPE, METADATA);
    // Get some metadata from the curi.
    // TODO: Get all curi metadata.
    // TODO: Use other than ANVL (or rename ANVL as NameValue or use
    // RFC822 (commons-httpclient?).
    ANVLRecord r = new ANVLRecord();
    if (curi.isSeed()) {
        r.addLabel("seed");
    } else {
        if (curi.forceFetch()) {
            r.addLabel("force-fetch");
        }
        r.addLabelValue("via", curi.flattenVia());
        r.addLabelValue("hopsFromSeed", curi.getPathFromSeed());
        if (curi.containsKey(A_SOURCE_TAG)) {
            r.addLabelValue("sourceTag", curi.getString(A_SOURCE_TAG));
        }
    }
    long duration = curi.getFetchDuration();
    if(duration>-1) {
        r.addLabelValue("fetchTimeMs", Long.toString(duration));
    }
    
    if (curi.containsKey(A_FTP_FETCH_STATUS)) {
        r.addLabelValue("ftpFetchStatus", curi.getString(A_FTP_FETCH_STATUS));
    }
    
    // Add outlinks though they are effectively useless without anchor text.
    Collection<Link> links = curi.getOutLinks();
    if (writeOutlinks && links != null && links.size() > 0) {
        for (Link link: links) {
            r.addLabelValue("outlink", link.toString());
        }
    }
    
    // TODO: Other curi fields to write to metadata.
    // 
    // Credentials
    // 
    // fetch-began-time: 1154569278774
    // fetch-completed-time: 1154569281816
    //
    // Annotations.
    
    byte[] b = r.getUTF8Bytes();
    w.writeMetadataRecord(curi.toString(), timestamp, ANVLRecord.MIMETYPE,
        uid, namedFields, new ByteArrayInputStream(b), b.length);
    return uid;
}
 

开发者ID:netarchivesuite,
项目名称:netarchivesuite-svngit-migration,
代码行数:55,
代码来源:WARCWriterProcessor.java


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)