Skip to content

Commit

Permalink
improve file & resource api
Browse files Browse the repository at this point in the history
  • Loading branch information
burdoto committed Jan 1, 2025
1 parent f247ac4 commit 48413fb
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
3 changes: 1 addition & 2 deletions src/main/java/org/comroid/api/comp/Archiver.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.comroid.api.comp;

import lombok.Builder;
import lombok.Getter;
import lombok.Singular;
import lombok.SneakyThrows;
Expand Down Expand Up @@ -160,7 +159,7 @@ public boolean available() {
return execPath.isDone() && !execPath.isCompletedExceptionally();
}

@Builder(builderMethodName = "zip", buildMethodName = "execute", builderClassName = "API")
//@Builder(builderMethodName = "zip", buildMethodName = "execute", builderClassName = "API")
public CompletableFuture<File> execute(
Object outputPath, // without extension
Object inputDirectory,
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/org/comroid/api/java/ResourceLoader.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package org.comroid.api.java;

import org.comroid.util.PathUtil;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
Expand Down Expand Up @@ -36,6 +39,15 @@ static ResourceLoader ofDirectory(final File dir) {
};
}

static InputStream fromResourceString(String string) throws FileNotFoundException {
if (string.startsWith("@:"))
return ClassLoader.getSystemClassLoader()
.getResourceAsStream(PathUtil.sanitize(string.substring(2)));
if (string.startsWith("@"))
return new FileInputStream(PathUtil.sanitize(string.substring(1)));
return new ByteArrayInputStream(PathUtil.sanitize(string).getBytes());
}

default Reader getResourceReader(String name) {
return new InputStreamReader(getResource(name));
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/comroid/util/PathUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ public static String sanitize(Object string) {
var str = string.toString().replace('\\', '/');
for (var c : new char[]{ '<', '>', ':', '"', '|', '?', '*'/*,'/','\\'*/ })
str = str.replace(c, '_');
return str;
return str.replaceFirst("^~", System.getProperty("user.home"));
}
}

0 comments on commit 48413fb

Please sign in to comment.