forked from LeenkxTeam/LNXSDK
Update Files
This commit is contained in:
55
Kha/Backends/Java/kha/Storage.hx
Normal file
55
Kha/Backends/Java/kha/Storage.hx
Normal file
@ -0,0 +1,55 @@
|
||||
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");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user