当前位置: 首页>>代码示例>>Java>>正文


Java FileService类代码示例

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


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

示例1: writeSchema

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
public static void writeSchema(FileService fileService, String bucketName, String schemaKey, List<String> fieldNames, List<String> fieldTypes) throws IOException,
FileNotFoundException, FinalizationException, LockException {
	GSFileOptionsBuilder schemaOptionsBuilder = new GSFileOptionsBuilder()
	.setBucket(bucketName)
	.setKey(schemaKey)
	.setAcl("project-private");
	AppEngineFile schemaFile = fileService.createNewGSFile(schemaOptionsBuilder.build());
	FileWriteChannel schemaChannel = fileService.openWriteChannel(schemaFile, true);
	PrintWriter schemaWriter = new PrintWriter(Channels.newWriter(schemaChannel, "UTF8"));
	StringBuilder sb = new StringBuilder();
	for (int i = 0; i < fieldNames.size(); i++) {
		sb.append(fieldNames.get(i) + ":" + fieldTypes.get(i));
		if (i < fieldNames.size() - 1) {
			sb.append(",");
		}
	}
	schemaWriter.print(sb);
	schemaWriter.close();
	schemaChannel.closeFinally();
}
 
开发者ID:steveseo,项目名称:l2bq,代码行数:21,代码来源:AnalysisUtility.java

示例2: loadSchemaStr

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
public static String loadSchemaStr(String schemaFileName)
		throws FileNotFoundException, LockException, IOException {
	FileService fileService = FileServiceFactory.getFileService();
	AppEngineFile schemaFile = new AppEngineFile(schemaFileName);
	FileReadChannel readChannel = fileService.openReadChannel(schemaFile, false);
	BufferedReader reader = new BufferedReader(Channels.newReader(readChannel, "UTF8"));
	String schemaLine;
	try {
		schemaLine = reader.readLine().trim();
	} catch (NullPointerException npe) {
		throw new IOException("Encountered NPE reading " + schemaFileName);
	}
	reader.close();
	readChannel.close();
	return schemaLine;
}
 
开发者ID:steveseo,项目名称:l2bq,代码行数:17,代码来源:AnalysisUtility.java

示例3: doGet

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
	try {
	System.out.println(newFileName());
	 FileService fileService = FileServiceFactory.getFileService();
	GSFileOptionsBuilder optionsBuilder = new GSFileOptionsBuilder()
	.setBucket("wt1-test1")
	.setKey(newFileName());

	AppEngineFile aef = fileService.createNewGSFile(optionsBuilder.build());
	
	FileWriteChannel ch = fileService.openWriteChannel(aef, true);
	
	Channels.newWriter(ch, "utf8").append("pouet").flush();
	
	ch.closeFinally();
	System.out.println("SUCCESS **************");
	} catch (Exception e) {
		System.out.println("FAILURE **************************");
		e.printStackTrace();
	}
}
 
开发者ID:dataiku,项目名称:wt1,代码行数:23,代码来源:TestServlet.java

示例4: getFileContent

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
/**
 * Returns the content of the specified file
 * @param fileMetaData file meta data of the file
 * @param fileService  optionally you can pass the file service reference if you already have it
 * @return the content of the specified file or <code>null</code> if the file could not be found
 * @throws IOException thrown if reading the file from from the Blobstore fails
 */
public static byte[] getFileContent( final FileMetaData fileMetaData, FileService fileService ) throws IOException {
	if (true) {
		return null;
	}
	
	if ( fileMetaData.getContent() != null ) {
		// File content is in the file meta data
		return fileMetaData.getContent().getBytes();
	}
	else {
		// Get content from the Blobstore
		if ( fileService == null )
			fileService = FileServiceFactory.getFileService();
		
		// final AppEngineFile   appeFile = fileService.getBlobFile( file.getBlobKey() ); // This code throws exception on migrated blobs!
		final AppEngineFile   appeFile = new AppEngineFile( FileSystem.BLOBSTORE, fileMetaData.getBlobKey().getKeyString() );
		final FileReadChannel channel  = fileService.openReadChannel( appeFile, false );
		final byte[]          content  = new byte[ (int) fileMetaData.getSize() ];
		final ByteBuffer      wrapper  = ByteBuffer.wrap( content );
		
		while ( channel.read( wrapper ) > 0 )
			;
		
		channel.close();
		
		return content;
	}
}
 
开发者ID:icza,项目名称:sc2gears,代码行数:36,代码来源:ServerUtils.java

示例5: processFileWithContent

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
private void processFileWithContent( final PersistenceManager pm, final Key fileKey, final String fileTypeString ) throws IOException {
	LOGGER.fine( "File key: " + fileKey + ", file type: " + fileTypeString );
	
	final FileType fileType = FileType.fromString( fileTypeString );
	
	final FileMetaData fmd;
	try {
		fmd =  (FileMetaData) pm.getObjectById( FILE_TYPE_CLASS_MAP.get( fileType ), fileKey );
	} catch ( final JDOObjectNotFoundException jonfe ) {
		LOGGER.warning( "File not found! (Deleted?)" );
		return;
	}
	LOGGER.fine( "sha1: " + fmd.getSha1() );
	if ( fmd.getBlobKey() != null && fmd.getContent() == null ) {
		LOGGER.warning( "This file is already processed!" );
		return;
	}
	if ( fmd.getContent() == null ) {
		LOGGER.warning( "File does not have content!" );
		return;
	}
	
	// Store content in the Blobstore
	final FileService      fileService = FileServiceFactory.getFileService();
	final AppEngineFile    appeFile    = fileService.createNewBlobFile( FILE_TYPE_MIME_TYPE_MAP.get( fileType ), fmd.getSha1() );
	final FileWriteChannel channel     = fileService.openWriteChannel( appeFile, true );
	final ByteBuffer       bb          = ByteBuffer.wrap( fmd.getContent().getBytes() );
	while ( bb.hasRemaining() )
		channel.write( bb );
	channel.closeFinally();
	
	fmd.setBlobKey( fileService.getBlobKey( appeFile ) );
	fmd.setContent( null );
	
	// I do not catch exceptions (so the task will be retried)
}
 
开发者ID:icza,项目名称:sc2gears,代码行数:37,代码来源:TaskServlet.java

示例6: service

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
    log.info("Ping - " + req);

    if (requestHandler != null) {
        requestHandler.handleRequest(req);
    }

    lastRequest = req;

    final DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
    try {
        Entity entity = new Entity("Qwert");
        entity.setProperty("xyz", 123);
        Key key = ds.put(entity);

        entity = ds.get(key);
        log.info(entity.toString());

        FileService fs = FileServiceFactory.getFileService();
        AppEngineFile file = fs.createNewBlobFile("qwertfile");
        FileWriteChannel fwc = fs.openWriteChannel(file, false);
        try {
            log.info("b_l = " + fwc.write(ByteBuffer.wrap("qwert".getBytes())));
        } finally {
            fwc.close();
        }
    } catch (Exception e) {
        throw new IOException(e);
    }
}
 
开发者ID:GoogleCloudPlatform,项目名称:appengine-tck,代码行数:31,代码来源:PrintServlet.java

示例7: writeNewBlobFile

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
protected BlobKey writeNewBlobFile(String text) throws IOException {
    FileService fileService = FileServiceFactory.getFileService();
    AppEngineFile file = fileService.createNewBlobFile("text/plain", "uploadedText.txt");
    FileWriteChannel channel = fileService.openWriteChannel(file, true);
    try {
        channel.write(ByteBuffer.wrap(text.getBytes()));
    } finally {
        channel.closeFinally();
    }
    return fileService.getBlobKey(file);
}
 
开发者ID:GoogleCloudPlatform,项目名称:appengine-tck,代码行数:12,代码来源:BlobstoreTestBase.java

示例8: writeToFile

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
private static BlobKey writeToFile(Image image) throws IOException {
  FileService fileService = FileServiceFactory.getFileService();
  AppEngineFile file = fileService.createNewBlobFile(toMimeType(image.getFormat()));
  FileWriteChannel writeChannel = fileService.openWriteChannel(file, true);
  writeChannel.write(ByteBuffer.wrap(image.getImageData()));
  writeChannel.closeFinally();
  return fileService.getBlobKey(file);
}
 
开发者ID:karma-exchange-org,项目名称:karma-exchange,代码行数:9,代码来源:ImageUploadUtil.java

示例9: getFileService

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
public static FileService getFileService() {
  return FileServiceFactory.getFileService();
}
 
开发者ID:ArloJamesBarnes,项目名称:walkaround,代码行数:4,代码来源:OversizedPropertyMover.java

示例10: getFileService

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
private static FileService getFileService() {
  return FileServiceFactory.getFileService();
}
 
开发者ID:ArloJamesBarnes,项目名称:walkaround,代码行数:4,代码来源:FetchAttachmentsProcessor.java

示例11: customTask

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
private void customTask( final HttpServletRequest request, final PersistenceManager pm ) throws IOException {
	LOGGER.fine( "Key: " + request.getParameter( "key" ) + ", file type: " + request.getParameter( "fileType" ) );
	
	final FileType fileType = FileType.fromString( request.getParameter( "fileType" ) );
	if ( fileType == null ) {
		LOGGER.severe( "Invalid File type!" );
		return;
	}
	
	final Key key = KeyFactory.stringToKey( request.getParameter( "key" ) );
	
	final DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
       final Entity e;
	try {
        e = ds.get( key );
       } catch ( final EntityNotFoundException enfe ) {
		LOGGER.log( Level.WARNING, "Entity not found!", enfe );
        return;
       }
	
       if ( !e.getKind().equals( "Rep" ) && !e.getKind().equals( "Smpd" ) && !e.getKind().equals( "OtherFile" ) ) {
		LOGGER.severe( "Invalid Entity kind:" + e.getKind() );
		return;
       }
       
       if ( (Long) e.getProperty( "v" ) == 4 ) {
		LOGGER.warning( "Entity is already v4!" );
		return;
	}
       
       // Update common properties:
       // TODO
       final int size = ( (Long) e.getProperty( "size" ) ).intValue();
       if ( size < FileServlet.DATASTORE_CONTENT_STORE_LIMIT ) {
           final FileService fileService = FileServiceFactory.getFileService();
   		final AppEngineFile   appeFile = new AppEngineFile( FileSystem.BLOBSTORE, ( (BlobKey) e.getProperty( "blobKey" ) ).getKeyString() );
   		final FileReadChannel channel  = fileService.openReadChannel( appeFile, false );
   		final byte[]          content  = new byte[ size ];
   		final ByteBuffer      wrapper  = ByteBuffer.wrap( content );
   		while ( channel.read( wrapper ) > 0 )
   			;
   		channel.close();
   		
   		e.setProperty( "content", new Blob( content ) );
   		e.setProperty( "blobKey", null );
   		fileService.delete( appeFile );
       }
       e.setUnindexedProperty( "blobKey", e.getProperty( "blobKey" ) );
       e.setUnindexedProperty( "content", e.getProperty( "content" ) );
       
       switch ( fileType ) {
       case SC2REPLAY :
           e.setUnindexedProperty( "matchup", e.getProperty( "matchup" ) );
       	break;
       case MOUSE_PRINT :
       	break;
       case OTHER :
       	break;
       default:
       	throw new RuntimeException( "Invalid file type!" );
       }
       
       // UPGRADE COMPLETE!
	e.setProperty( "v", 4 );
	ds.put( e );
}
 
开发者ID:icza,项目名称:sc2gears,代码行数:67,代码来源:TaskServlet.java

示例12: storeBlob

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
private BlobKey storeBlob(String contentType, String fileName, InputStream stream) throws IOException {
	FileService fileService = FileServiceFactory.getFileService();
	AppEngineFile file = fileService.createNewBlobFile(contentType, fileName);

	boolean lock = true;
	FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock);
	ByteBuffer buf = ByteBuffer.allocateDirect(10);

	byte[] bytes = new byte[1024];
	int count = 0;
	int index = 0;

	// Continue writing bytes until there are no more
	while (count >= 0) {
		if (index == count) {
			count = stream.read(bytes);
			index = 0;
		}
		// Fill ByteBuffer
		while (index < count && buf.hasRemaining()) {
			buf.put(bytes[index++]);
		}

		// Set the limit to the current position and the
		// position to 0
		// making the new bytes visible for write()
		buf.flip();

		// Write the bytes to the channel
		int numWritten = writeChannel.write(buf);

		// Check if all bytes were written
		if (buf.hasRemaining()) {
			buf.compact();
		} else {
			buf.clear();
		}
	}

	writeChannel.closeFinally();
	return fileService.getBlobKey(file);
}
 
开发者ID:WELTEN,项目名称:dojo-ibl,代码行数:43,代码来源:BlobStoreServlet.java

示例13: doGet

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
	resp.setContentType("text/plain");
	
	AppIdentityCredential credential = new AppIdentityCredential(AnalysisConstants.SCOPES);
	
	String bigqueryProjectId = AnalysisUtility.extractParameterOrThrow(req, AnalysisConstants.BIGQUERY_PROJECT_ID_PARAM);
	String jobId = AnalysisUtility.extractParameterOrThrow(req, AnalysisConstants.BIGQUERY_JOB_ID_PARAM);
	String queueName = AnalysisUtility.extractParameterOrThrow(req, AnalysisConstants.QUEUE_NAME_PARAM);

	Bigquery bigquery = Bigquery.builder(HTTP_TRANSPORT, JSON_FACTORY)
			.setHttpRequestInitializer(credential)
			.setApplicationName("Streak Logs")
			.build();
	
	Job j = bigquery.jobs().get(bigqueryProjectId, jobId).execute();
	j.getConfiguration().getLoad().getSourceUris();
	
	
	if ("DONE".equals(j.getStatus().getState())) {
	
		FileService fs = FileServiceFactory.getFileService();
		List<AppEngineFile> filesForJob = new ArrayList<AppEngineFile>();
		for (String f : j.getConfiguration().getLoad().getSourceUris()) {
			if (f.contains("gs://")) {
				String filename = f.replace("gs://", "/gs/");
				AppEngineFile file = new AppEngineFile(filename);
				filesForJob.add(file);
				
				resp.getWriter().println("Deleting: " + f + ", appengine filename: " + filename);
			}
		}
		
		fs.delete(filesForJob.toArray(new AppEngineFile[0]));
	}
	else {
		resp.getWriter().println("Status was not DONE, it was " + j.getStatus().getState());
		
		// check again in 5 mins if the job is done
		String retryCountStr = req.getParameter(AnalysisConstants.RETRY_COUNT_PARAM);
		int retryCount = -1;
		if (AnalysisUtility.areParametersValid(retryCountStr)) {
			retryCount = Integer.parseInt(retryCountStr);
		}
		retryCount++;
		
		if (retryCount > 15) {
			resp.getWriter().println("Tried too many times to find job, aborting");
		}
		
		Queue taskQueue = QueueFactory.getQueue(queueName);
		taskQueue.add(
				Builder.withUrl(
						AnalysisUtility.getRequestBaseName(req) + "/deleteCompletedCloudStorageFilesTask")
					   .method(Method.GET)
					   .param(AnalysisConstants.BIGQUERY_JOB_ID_PARAM, jobId)
					   .param(AnalysisConstants.QUEUE_NAME_PARAM, queueName)
					   .param(AnalysisConstants.RETRY_COUNT_PARAM, String.valueOf(retryCount))
					   .etaMillis(System.currentTimeMillis() + 5 * 60 * 1000)
					   .param(AnalysisConstants.BIGQUERY_PROJECT_ID_PARAM, bigqueryProjectId));
	
	}
	
}
 
开发者ID:steveseo,项目名称:l2bq,代码行数:64,代码来源:DeleteCompletedCloudStorageFilesTask.java

示例14: getAppEngineFile

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
private AppEngineFile getAppEngineFile(BlobKey blobKey) {
    FileService fileService = FileServiceFactory.getFileService();
    return fileService.getBlobFile(blobKey);
}
 
开发者ID:GoogleCloudPlatform,项目名称:appengine-tck,代码行数:5,代码来源:BlobstoreUploadTestBase.java

示例15: FilesAPIOutputStream

import com.google.appengine.api.files.FileService; //导入依赖的package包/类
public FilesAPIOutputStream(FileService service, AppEngineFile file)
    throws IOException {
  channel = service.openWriteChannel(file, true);
  stream = Channels.newOutputStream(channel);
}
 
开发者ID:mwl,项目名称:gwt-upload,代码行数:6,代码来源:FilesApiFileItemFactory.java


注:本文中的com.google.appengine.api.files.FileService类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。