diff base/src/java/io/FileOutputStream.d @ 27:1bf55a6eb092

Renamed java tree to base
author Frank Benoit <benoit@tionex.de>
date Sat, 21 Mar 2009 11:33:57 +0100
parents java/src/java/io/FileOutputStream.d@9b96950f2c3c
children 536e43f63c81
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/base/src/java/io/FileOutputStream.d	Sat Mar 21 11:33:57 2009 +0100
@@ -0,0 +1,76 @@
+/**
+ * Authors: Frank Benoit <keinfarbton@googlemail.com>
+ */
+module java.io.FileOutputStream;
+
+public import java.io.File;
+public import java.io.OutputStream;
+
+import java.lang.all;
+
+version(Tango){
+    import TangoFile = tango.io.device.File;
+} else { // Phobos
+    static import std.file;
+    static import std.path;
+}
+
+public class FileOutputStream : java.io.OutputStream.OutputStream {
+
+    alias java.io.OutputStream.OutputStream.write write;
+    alias java.io.OutputStream.OutputStream.close close;
+    version(Tango){
+        TangoFile.File fc;
+    } else { // Phobos
+    }
+
+    public this ( String name ){
+        version(Tango){
+            fc = new TangoFile.File( name, TangoFile.File.WriteCreate );
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
+    }
+
+    public this ( String name, bool append ){
+        version(Tango){
+            fc = new TangoFile.File( name, append ? TangoFile.File.WriteAppending : TangoFile.File.WriteCreate );
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
+    }
+
+    public this ( java.io.File.File file ){
+        this( file.toString );
+    }
+
+    public this ( java.io.File.File file, bool append ){
+        this( file.toString, append );
+    }
+
+    public override void write( int b ){
+        ubyte[1] a;
+        a[0] = b & 0xFF;
+        version(Tango){
+            fc.write(a);
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
+    }
+
+    public override void close(){
+        version(Tango){
+            fc.close();
+        } else { // Phobos
+            implMissing( __FILE__, __LINE__ );
+        }
+    }
+
+    public void finalize(){
+        implMissing( __FILE__, __LINE__ );
+    }
+
+
+}
+
+