summaryrefslogtreecommitdiff
path: root/vm
diff options
context:
space:
mode:
authorJeroen Frijters <jeroen@sumatra.nl>2004-11-26 13:52:21 +0000
committerJeroen Frijters <jeroen@sumatra.nl>2004-11-26 13:52:21 +0000
commit16bbc74d3b9bd5b1a5c8d3d1f389d5fbfe60850e (patch)
tree847a175b4533fbaa117aa99ab064ac067842b31d /vm
parentcf3443232e9cc2e272e0eb70bcd2c78737b8a852 (diff)
downloadclasspath-16bbc74d3b9bd5b1a5c8d3d1f389d5fbfe60850e.tar.gz
2004-11-26 Jeroen Frijters <jeroen@frijters.net>
* java/io/File.java (canWrite): Moved directory write test to VMFile. * vm/reference/java/io/VMFile.java (canWriteDirectory): New method.
Diffstat (limited to 'vm')
-rw-r--r--vm/reference/java/io/VMFile.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/vm/reference/java/io/VMFile.java b/vm/reference/java/io/VMFile.java
index 9e983a046..6b59da4d3 100644
--- a/vm/reference/java/io/VMFile.java
+++ b/vm/reference/java/io/VMFile.java
@@ -126,6 +126,23 @@ final class VMFile
static synchronized native boolean canWrite(String path);
/**
+ * This methods checks if a directory can be written to.
+ */
+ static boolean canWriteDirectory(File dir)
+ {
+ try
+ {
+ String filename = IS_DOS_8_3 ? "tst" : "test-dir-write";
+ File test = File.createTempFile(filename, null, dir);
+ return (test != null && test.delete());
+ }
+ catch (IOException ioe)
+ {
+ return false;
+ }
+ }
+
+ /**
* This native method checks file permissions for reading
*/
static synchronized native boolean canRead(String path);