moved ProxyAutoConfig.java from org.ibex.net.HTTP to this package
[org.ibex.js.git] / src / org / ibex / js / Directory.java
index 9bcc7f6..0a77f41 100644 (file)
@@ -5,6 +5,7 @@
 package org.ibex.js; 
 
 import org.ibex.util.*; 
+import org.ibex.io.*;
 import java.io.*;
 
 // FEATURE: support for move
@@ -69,7 +70,12 @@ public class Directory extends JS.Immutable {
             File f2 = new File(f.getAbsolutePath() + File.separatorChar + Encode.toFilename(key));
             destroy(f2);
             if (val == null) return;
-            if (val instanceof JSPrimitive) {
+            if (val instanceof org.ibex.io.Fountain) {
+                Stream stream = ((org.ibex.io.Fountain)val).getStream();
+                Stream out = new Stream(null, new FileOutputStream(f2));
+                stream.transcribe(out);
+                out.close();
+            } else if (val instanceof JSPrimitive) {
                 OutputStream out = new FileOutputStream(f2);
                 Writer w = new OutputStreamWriter(out);
                 w.write(JSU.toString(val));
@@ -96,7 +102,7 @@ public class Directory extends JS.Immutable {
             File f2 = new File(f.getAbsolutePath() + File.separatorChar + Encode.toFilename(key));
             if (!f2.exists()) return null;
             if (f2.isDirectory()) return new Directory(f2);
-            char[] chars = new char[((int)f2.length()) * 2];
+            char[] chars = new char[((int)f2.length()) * 4 + 10];
             int numchars = 0;
             Reader r = new InputStreamReader(new FileInputStream(f2));
             while(true) {