diff --git a/framework/src/main/java/org/toop/framework/assets/resources/AudioResource.java b/framework/src/main/java/org/toop/framework/assets/resources/AudioResource.java index f46557b..fd841a9 100644 --- a/framework/src/main/java/org/toop/framework/assets/resources/AudioResource.java +++ b/framework/src/main/java/org/toop/framework/assets/resources/AudioResource.java @@ -21,7 +21,7 @@ public class AudioResource extends Resource { @Override public Resource load() { try { - this.audioInputStream = AudioSystem.getAudioInputStream(this.stream); + this.audioInputStream = AudioSystem.getAudioInputStream(this.getStream()); Clip clip = AudioSystem.getClip(); clip.open(this.audioInputStream); this.clip = clip; diff --git a/framework/src/main/java/org/toop/framework/assets/resources/ImageResource.java b/framework/src/main/java/org/toop/framework/assets/resources/ImageResource.java index 8f5bf05..41880d3 100644 --- a/framework/src/main/java/org/toop/framework/assets/resources/ImageResource.java +++ b/framework/src/main/java/org/toop/framework/assets/resources/ImageResource.java @@ -20,7 +20,7 @@ public class ImageResource extends Resource { @Override public Resource load() { - this.image = new Image(this.stream); + this.image = new Image(this.getStream()); return this; } } diff --git a/framework/src/main/java/org/toop/framework/assets/resources/Resource.java b/framework/src/main/java/org/toop/framework/assets/resources/Resource.java index 8c3cd19..7a999e1 100644 --- a/framework/src/main/java/org/toop/framework/assets/resources/Resource.java +++ b/framework/src/main/java/org/toop/framework/assets/resources/Resource.java @@ -1,16 +1,17 @@ package org.toop.framework.assets.resources; import java.io.*; +import java.nio.file.Files; public abstract class Resource { - final InputStream stream; - final File file; + final private byte[] rawData; + final private File file; - Resource(final File file) { + Resource(final File file) throws RuntimeException { this.file = file; try { - this.stream = new BufferedInputStream(new FileInputStream(file)); - } catch (FileNotFoundException e) { + this.rawData = Files.readAllBytes(file.toPath()); + } catch (IOException e) { throw new RuntimeException(e); } } @@ -19,8 +20,8 @@ public abstract class Resource { return this; } - public InputStream getInputStream() { - return this.stream; + public InputStream getStream() { + return new BufferedInputStream(new ByteArrayInputStream(this.rawData)); } public File getFile() {