forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package kha;
 | 
						|
 | 
						|
import haxe.io.Bytes;
 | 
						|
import haxe.io.Path;
 | 
						|
import haxe.Serializer;
 | 
						|
import haxe.Unserializer;
 | 
						|
import kha.Blob;
 | 
						|
import kha.StorageFile;
 | 
						|
import sys.io.File;
 | 
						|
 | 
						|
using StringTools;
 | 
						|
 | 
						|
class JavaStorageFile extends StorageFile {
 | 
						|
	var file: Path;
 | 
						|
 | 
						|
	public function new(filename: String) {
 | 
						|
		this.file = new Path(filename);
 | 
						|
		// if (file.dir != null) Directory.CreateDirectory(file.dir);
 | 
						|
	}
 | 
						|
 | 
						|
	override public function read(): Blob {
 | 
						|
		try {
 | 
						|
			if (file == null)
 | 
						|
				return null;
 | 
						|
			if (File.getContent(file.toString()) == null)
 | 
						|
				return null;
 | 
						|
			return Blob.fromBytes(File.getBytes(file.toString()));
 | 
						|
		}
 | 
						|
		catch (e:Dynamic) {
 | 
						|
			return null;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	override public function write(data: Blob): Void {
 | 
						|
		var file = File.write(file.toString(), true);
 | 
						|
		file.writeBytes(data.toBytes(), 0, data.toBytes().length);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
class Storage {
 | 
						|
	public static function namedFile(name: String): StorageFile {
 | 
						|
		name = name.replace("<", "-(");
 | 
						|
		name = name.replace(">", ")-");
 | 
						|
		name = name.replace(":", "_");
 | 
						|
		name = name.replace("|", ")(");
 | 
						|
		name = name.replace("?", "(Q)");
 | 
						|
		name = name.replace("*", "(+)");
 | 
						|
		name = name.replace("\"", "''");
 | 
						|
		return new JavaStorageFile(name);
 | 
						|
	}
 | 
						|
 | 
						|
	public static function defaultFile(): StorageFile {
 | 
						|
		return namedFile("default.kha");
 | 
						|
	}
 | 
						|
}
 |