git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add the license in root dir
[fanfix.git]
/
src
/
be
/
nikiroo
/
utils
/
Cache.java
diff --git
a/src/be/nikiroo/utils/Cache.java
b/src/be/nikiroo/utils/Cache.java
index dbe2020188ec44ae2dfd673529f49a8e6abdf462..779b194f5cc66f0e706865e360c6a7b992344f9d 100644
(file)
--- a/
src/be/nikiroo/utils/Cache.java
+++ b/
src/be/nikiroo/utils/Cache.java
@@
-1,13
+1,14
@@
package be.nikiroo.utils;
import java.io.File;
package be.nikiroo.utils;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Date;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Date;
+import be.nikiroo.utils.streams.MarkableFileInputStream;
+
/**
* A generic cache system, with special support for {@link URL}s.
* <p>
/**
* A generic cache system, with special support for {@link URL}s.
* <p>
@@
-263,7
+264,7
@@
public class Cache {
if (cached.exists() && cached.isFile()
&& (allowTooOld || !isOld(cached, stable))) {
try {
if (cached.exists() && cached.isFile()
&& (allowTooOld || !isOld(cached, stable))) {
try {
- return new MarkableFileInputStream(
new FileInputStream(cached)
);
+ return new MarkableFileInputStream(
cached
);
} catch (FileNotFoundException e) {
return null;
}
} catch (FileNotFoundException e) {
return null;
}
@@
-280,13
+281,15
@@
public class Cache {
* @param uniqueID
* a unique ID used to locate the cached resource
*
* @param uniqueID
* a unique ID used to locate the cached resource
*
+ * @return the number of bytes written
+ *
* @throws IOException
* in case of I/O error
*/
* @throws IOException
* in case of I/O error
*/
- public
void
save(InputStream in, String uniqueID) throws IOException {
+ public
long
save(InputStream in, String uniqueID) throws IOException {
File cached = getCached(uniqueID);
cached.getParentFile().mkdirs();
File cached = getCached(uniqueID);
cached.getParentFile().mkdirs();
- save(in, cached);
+
return
save(in, cached);
}
/**
}
/**
@@
-297,12
+300,14
@@
public class Cache {
* @param url
* the {@link URL} used to locate the cached resource
*
* @param url
* the {@link URL} used to locate the cached resource
*
+ * @return the number of bytes written
+ *
* @throws IOException
* in case of I/O error
*/
* @throws IOException
* in case of I/O error
*/
- public
void
save(InputStream in, URL url) throws IOException {
+ public
long
save(InputStream in, URL url) throws IOException {
File cached = getCached(url);
File cached = getCached(url);
- save(in, cached);
+
return
save(in, cached);
}
/**
}
/**
@@
-315,12
+320,16
@@
public class Cache {
* @param cached
* the cached {@link File} to save to
*
* @param cached
* the cached {@link File} to save to
*
+ * @return the number of bytes written
+ *
* @throws IOException
* in case of I/O error
*/
* @throws IOException
* in case of I/O error
*/
- private void save(InputStream in, File cached) throws IOException {
+ private long save(InputStream in, File cached) throws IOException {
+ // We delete AFTER so not to remove the subdir we will use...
+ long bytes = IOUtils.write(in, cached);
clean(true, dir, 10);
clean(true, dir, 10);
-
IOUtils.write(in, cached)
;
+
return bytes
;
}
/**
}
/**