Ejemplo n.º 1
0
		public static FileStream OpenWrite(string path)
		{
			var f = new __FileStream
			{
				InternalHandle = stdio_h.fopen(path, "w+")
			};

			return (FileStream)(object)f;
		}
Ejemplo n.º 2
0
        public __HttpApplication()
        {
            // tested by X:\jsc.svn\examples\javascript\forms\android\LANClickOnce\LANClickOnce\Application.cs
            // tested by X:\jsc.svn\examples\javascript\android\DCIMCameraAppWithThumbnails\DCIMCameraAppWithThumbnails\ApplicationWebService.cs


            ScriptCoreLibJava.BCLImplementation.System.IO.__File.InternalOpenRead =
                path =>
            {
                Console.WriteLine("InternalOpenRead " + new { path });

                var x = default(__FileStream);
                try
                {
                    var Response = (__HttpResponse)(object)this._Context.Response;

                    // assets only?
                    var assets = Response.InternalContext.getResources().getAssets();

                    var s = assets.open(path).ToNetworkStream();

                    x = new __FileStream {
                        InternalStream = s
                    };
                }
                catch
                {
                    // no file
                }
                return(x);
            };


            ScriptCoreLibJava.BCLImplementation.System.IO.__File.InternalReadAllBytes =
                path =>
            {
                // I/System.Console(17391): InternalReadAllBytes { path = ScriptCoreLib.dll.js }
                Console.WriteLine("InternalReadAllBytes " + new { path });


                var bytes = default(byte[]);


                try
                {
                    var Response = (__HttpResponse)(object)this._Context.Response;

                    // assets only?
                    var assets = Response.InternalContext.getResources().getAssets();

                    var s = assets.open(path).ToNetworkStream();

                    var value = new MemoryStream();
                    s.CopyTo(value);

                    bytes = value.ToArray();
                }
                catch
                {
                    // no file
                }

                return(bytes);
            };
        }