これが私のコードです。
/**
* Load an Object from disk.
*/
public static <T> T load(String path) throws IOException {
File entry = new TFile(path);
char[] chars = new char[(int)entry.length()];
InputStream in = new TFileInputStream(entry);
BufferedReader fIn = new BufferedReader(new InputStreamReader(in, "UTF-8"));
fIn.read(chars);
fIn.close();
//converts the string to an object using the Base64Coder
return decode(new String(chars));
}
/**
* Save an object to disk as a compressed file.
*/
public static void save(String path, Serializable o) {
//converts the object to a string
String content = encode(o);
File entry = new TFile(path);
Writer writer;
try {
writer = new TFileWriter(entry);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
TrueVFS を使用して、オブジェクトをメモリから圧縮ファイルにロードおよび保存しようとしています。このコードはここで機能しますが、ファイルを直接参照する場合のみです。(したがって、指定されたパスは「data.zip/data Entries/0/2/data.txt」のようなものです)
私が抱えている問題は、このファイルをパスに入れようとするとすぐに (したがって、指定されたパスは "Save Files/World 1/data.zip/dataEntry/0/2/data.txt" のようなものです)、私はNoSuchFileException エラーを取得します。
アーカイブを指定したフォルダに入れるにはどうすればよいですか?