List of usage examples for android.support.v4.util AtomicFile finishWrite
public void finishWrite(FileOutputStream fileOutputStream)
From source file:io.nuclei.splice.internal.FileManager.java
public static void copy(Context context, FileRef ref, InputStream in) throws IOException { AtomicFile file = getAtomicFile(context, ref); FileOutputStream out = file.startWrite(); try {/*w ww.jav a 2s. co m*/ copy(in, out); } finally { file.finishWrite(out); } }
From source file:io.nuclei.splice.internal.FileManager.java
public static void copy(Context context, DbRef ref, Source source) throws IOException { AtomicFile file = getAtomicFile(context, ref.ref); FileOutputStream out = file.startWrite(); try {//from ww w . ja v a2s . c o m source.process(context, ref, out); } finally { file.finishWrite(out); } }
From source file:com.exzogeni.dk.http.cache.DiscCacheStore.java
private InputStream saveCacheFile(@NonNull File cacheFile, @NonNull InputStream content) throws IOException { final AtomicFile af = new AtomicFile(cacheFile); final FileOutputStream fos = af.startWrite(); try {// w w w . j ava 2 s . c o m final OutputStream out = new BufferPoolOutputStream(fos); final byte[] buffer = ByteBufferPool.getInstance().obtain(); try { IOUtils.copyLarge(content, out, buffer); IOUtils.closeQuietly(out); af.finishWrite(fos); } finally { ByteBufferPool.getInstance().free(buffer); } } catch (IOException e) { af.failWrite(fos); af.delete(); throw e; } return af.openRead(); }
From source file:org.chromium.chrome.browser.tabmodel.TabPersistentStore.java
/** * Atomically writes the given serialized data out to disk. * @param stateDirectory Directory to save TabModel data into. * @param stateFileName File name to save TabModel data into. * @param listData TabModel data in the form of a serialized byte array. *//*from www. j a v a2s. c o m*/ public static void saveListToFile(File stateDirectory, String stateFileName, byte[] listData) { synchronized (SAVE_LIST_LOCK) { // Save the index file containing the list of tabs to restore. File metadataFile = new File(stateDirectory, stateFileName); AtomicFile file = new AtomicFile(metadataFile); FileOutputStream stream = null; try { stream = file.startWrite(); stream.write(listData, 0, listData.length); file.finishWrite(stream); } catch (IOException e) { if (stream != null) file.failWrite(stream); Log.e(TAG, "Failed to write file: " + metadataFile.getAbsolutePath()); } } }
From source file:com.exzogeni.dk.http.cache.DiscCacheStore.java
private void saveMetaFile(@NonNull File metaFile, @NonNull Map<String, List<String>> metaHeaders, long maxAge) throws IOException { final AtomicFile af = new AtomicFile(metaFile); final FileOutputStream fos = af.startWrite(); try {/*from w w w .j a v a 2s.co m*/ final DataOutputStream dat = new DataOutputStream(new BufferPoolOutputStream(fos)); dat.writeLong(System.currentTimeMillis() + maxAge); dat.writeInt(metaHeaders.size()); for (final Map.Entry<String, List<String>> header : metaHeaders.entrySet()) { dat.writeUTF(header.getKey()); dat.writeInt(header.getValue().size()); for (final String value : header.getValue()) { dat.writeUTF(value); } } IOUtils.closeQuietly(dat); af.finishWrite(fos); } catch (IOException e) { af.failWrite(fos); af.delete(); throw e; } }