FileSystem
Inheritance: java.lang.Object
All Implemented Interfaces: java.io.Closeable
public abstract class FileSystem implements Closeable
File system encapsulation. Aspose.3D will use this to read/write dependencies. Example: The following code shows how to import file, and provide dependent files in a given directory
var inputFile = "input.fbx";
var format = FileFormat.detect(inputFile);
//create a load options instance and specify a zip file system
var opt = format.createLoadOptions();
opt.setFileSystem(new LocalFileSystem("textures/"));
//load the file
var scene = Scene.fromFile(inputFile, opt);
Constructors
Constructor | Description |
---|---|
FileSystem() |
Methods
Method | Description |
---|---|
close() | Dispose the File system and release its resources. |
createDummyFileSystem() | Create a dummy file system, read/write operations are dummy operations. |
createLocalFileSystem(String directory) | Initialize a new FileSystem that only access local directory. |
createMemoryFileSystem() | Create a memory-based file system which will maps the read/write operations to memory. |
createMemoryFileSystem(HashMap<String,MemoryStream> files) | Create a memory-based file system which will maps the read/write operations to memory. |
createZipFileSystem(Stream stream) | Create a file system to provide to the read-only access to speicified zip file or zip stream. |
createZipFileSystem(Stream stream, String baseDir) | Create a file system to provide to the read-only access to speicified zip file or zip stream. |
createZipFileSystem(String fileName) | File system to provide to the read-only access to speicified zip file or zip stream. |
equals(Object arg0) | |
getClass() | |
hashCode() | |
notify() | |
notifyAll() | |
readFile(String fileName, IOConfig options) | Create a stream for reading dependencies. |
toString() | |
wait() | |
wait(long arg0) | |
wait(long arg0, int arg1) | |
writeFile(String fileName, IOConfig options) | Create a stream for writing dependencies. |
FileSystem()
public FileSystem()
close()
public void close()
Dispose the File system and release its resources.
createDummyFileSystem()
public static FileSystem createDummyFileSystem()
Create a dummy file system, read/write operations are dummy operations.
Returns: FileSystem - A dummy file system Example: The following code shows how to export file to memory, and ignore all dependent file generation.
//create a scene with material
Scene scene = new Scene();
scene.getRootNode().createChildNode(new Box()).setMaterial(new LambertMaterial());
//create a save option and specify the file system, so the dependent file will be written to memory
var opt = FileFormat.WAVEFRONTOBJ.createSaveOptions();
var dfs = FileSystem.CreateDummyFileSystem();
opt.setFileSystem(dfs);
//obj's material file name is associated with the obj's file name, so we need a explicit name.
opt.setFileName("test.obj");
try (var ms = new MemoryStream())
{
scene.save(ms, opt);
}
createLocalFileSystem(String directory)
public static FileSystem createLocalFileSystem(String directory)
Initialize a new FileSystem that only access local directory. All file read/write on this FileSystem instance will be mapped to specified directory.
Parameters:
Parameter | Type | Description |
---|---|---|
directory | java.lang.String | The directory in your physical file system as the virtual root directory. |
Returns: FileSystem - A new instance of file system to provide local file access
createMemoryFileSystem()
public static FileSystem createMemoryFileSystem()
Create a memory-based file system which will maps the read/write operations to memory.
Returns: FileSystem - A memory-based file system Example: The following code shows how to export file to memory, includes the dependent file by using MemoryFileSystem.
//create a scene with material
Scene scene = new Scene();
scene.getRootNode().createChildNode(new Box()).setMaterial(new LambertMaterial());
//create a save option and specify the file system, so the dependent file will be written to memory
var opt = FileFormat.WAVEFRONTOBJ.createSaveOptions();
var mfs = new HashMap<String, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(mfs));
//obj's material file name is associated with the obj's file name, so we need a explicit name.
opt.setFileName("test.obj");
try (var ms = new MemoryStream())
{
scene.save(ms, opt);
}
//the test.obj was written to variable ms, and we can also get the test.mtl file content by
var materialFile = mfs.get("test.mtl");
createMemoryFileSystem(HashMap<String,MemoryStream> files)
public static FileSystem createMemoryFileSystem(HashMap<String,MemoryStream> files)
Create a memory-based file system which will maps the read/write operations to memory.
Parameters:
Parameter | Type | Description |
---|---|---|
files | java.util.HashMap<java.lang.String,com.aspose.threed.MemoryStream> | This allows you to read/write the virtual files. |
Returns: FileSystem - A memory-based file system Example: The following code shows how to export file to memory, includes the dependent file by using MemoryFileSystem.
//create a scene with material
Scene scene = new Scene();
scene.getRootNode().createChildNode(new Box()).setMaterial(new LambertMaterial());
//create a save option and specify the file system, so the dependent file will be written to memory
var opt = FileFormat.WAVEFRONTOBJ.createSaveOptions();
var mfs = new HashMap<String, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(mfs));
//obj's material file name is associated with the obj's file name, so we need a explicit name.
opt.setFileName("test.obj");
try (var ms = new MemoryStream())
{
scene.save(ms, opt);
}
//the test.obj was written to variable ms, and we can also get the test.mtl file content by
var materialFile = mfs.get("test.mtl");
createZipFileSystem(Stream stream)
public static FileSystem createZipFileSystem(Stream stream)
Create a file system to provide to the read-only access to speicified zip file or zip stream. File system will be disposed after the open/save operation.
Parameters:
Parameter | Type | Description |
---|---|---|
stream | Stream | The stream to access the zip file |
Returns: FileSystem - A zip file system
createZipFileSystem(Stream stream, String baseDir)
public static FileSystem createZipFileSystem(Stream stream, String baseDir)
Create a file system to provide to the read-only access to speicified zip file or zip stream. File system will be disposed after the open/save operation.
Parameters:
Parameter | Type | Description |
---|---|---|
stream | Stream | The stream to access the zip file |
baseDir | java.lang.String | The base directory inside the zip file. |
Returns: FileSystem - A zip file system
createZipFileSystem(String fileName)
public static FileSystem createZipFileSystem(String fileName)
File system to provide to the read-only access to speicified zip file or zip stream. File system will be disposed after the open/save operation.
Parameters:
Parameter | Type | Description |
---|---|---|
fileName | java.lang.String | File name to the zip file. |
Returns: FileSystem - A zip file system
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
Parameter | Type | Description |
---|---|---|
arg0 | java.lang.Object |
Returns: boolean
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
hashCode()
public native int hashCode()
Returns: int
notify()
public final native void notify()
notifyAll()
public final native void notifyAll()
readFile(String fileName, IOConfig options)
public abstract Stream readFile(String fileName, IOConfig options)
Create a stream for reading dependencies.
Parameters:
Parameter | Type | Description |
---|---|---|
fileName | java.lang.String | File’s name to open for reading |
options | IOConfig | Save or load options |
Returns: Stream - Stream for reading the file.
toString()
public String toString()
Returns: java.lang.String
wait()
public final void wait()
wait(long arg0)
public final void wait(long arg0)
Parameters:
Parameter | Type | Description |
---|---|---|
arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
Parameter | Type | Description |
---|---|---|
arg0 | long | |
arg1 | int |
writeFile(String fileName, IOConfig options)
public abstract Stream writeFile(String fileName, IOConfig options)
Create a stream for writing dependencies.
Parameters:
Parameter | Type | Description |
---|---|---|
fileName | java.lang.String | The file’s name to open for writing |
options | IOConfig | Save or load options |
Returns: Stream - Stream for writing the file