IOConfig
Inheritance: java.lang.Object
public class IOConfig
用于序列化/反序列化的 IO 配置。用户可以在此指定详细的配置,例如依赖查找路径或与格式相关的配置。
方法
| 方法 | 描述 |
|---|---|
| equals(Object arg0) | |
| getClass() | |
| getEncoding() | 获取基于文本的文件的默认编码。 |
| getFileFormat() | 获取当前保存/加载选项中指定的文件格式。 |
| getFileName() | 导出/导入场景的文件名。 |
| getFileSystem() | 允许用户处理在加载/保存期间如何管理外部依赖项。 |
| getFileSystemFactory() | 获取 FileSystem 的工厂类。 |
| getLookupPaths() | 某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。 |
| hashCode() | |
| notify() | |
| notifyAll() | |
| setEncoding(Charset value) | 设置基于文本的文件的默认编码。 |
| setFileName(String value) | 导出/导入场景的文件名。 |
| setFileSystem(FileSystem value) | 允许用户处理在加载/保存期间如何管理外部依赖项。 |
| setFileSystemFactory(FileSystemFactory value) | 设置 FileSystem 的工厂类。 |
| setLookupPaths(ArrayList | 某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。 |
| toString() | |
| wait() | |
| wait(long arg0) | |
| wait(long arg0, int arg1) |
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| arg0 | java.lang.Object |
Returns: 布尔
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getEncoding()
public Charset getEncoding()
获取基于文本的文件的默认编码。默认值为 null,表示导入器/导出器将决定使用哪种编码。
Returns: java.nio.charset.Charset - 基于文本的文件的默认编码。默认值为 null,表示导入器/导出器将决定使用哪种编码。
getFileFormat()
public FileFormat getFileFormat()
获取当前保存/加载选项中指定的文件格式。
Returns: FileFormat - the file format that specified in current Save/Load option.
getFileName()
public String getFileName()
导出/导入场景的文件名。此项是可选的,但在序列化外部资源(如 OBJ 的材质)时很有用。
Returns: java.lang.String - 导出/导入场景的文件名。此项是可选的,但在序列化外部资源(如 OBJ 的材质)时很有用。
getFileSystem()
public FileSystem getFileSystem()
允许用户处理在加载/保存期间如何管理外部依赖项。
Returns: FileSystem - Allow user to handle how to manage the external dependencies during load/save. Example: The default FileSystem is LocalFileSystem, it is not safe in environment like server side, But you can override the file system access by specifying a different implementation. Aspose.3D provides different FileSystem implementation like:
- Memory-based file system
- Directory-based file system
- Dummy file system
- Zip file system
您也可以使用自己的实现。
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
var opt = new ObjSaveOptions();
var memFs = new HashMap<string, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(memFs));
opt.setFileName("output.obj");
try(var output = new ByteArrayOutputStream()) {
scene.save(output, opt);
//The material will be written to variable memFs named output.mtl
var materialInBytes = memFs["output.mtl"].toArray();
}
getFileSystemFactory()
public static FileSystemFactory getFileSystemFactory()
获取 FileSystem 的工厂类。默认工厂将创建 com.aspose.threed.LocalFileSystem,但它不适用于服务器环境。
Returns: FileSystemFactory - the factory class for FileSystem. The default factory will create com.aspose.threed.LocalFileSystem which is not suitable for server environment. Example: The default FileSystem in SaveOptions/LoadOptions is directory-based file system, You can override the default implementation by specify it through IOConfig.FileSystemFactory:
IOConfig.setFileSystemFactory(new FileSystemFactory() {
@Override
public FileSystem call() {
return FileSystem.createDummyFileSystem();
}
});
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
//opt.FileSystem would be dummy file system now
var opt = new ObjSaveOptions();
scene.Save("output.obj", opt);
//the material file output.mtl will not be written to any places because we've configured a dummy file system as default implementation.
getLookupPaths()
public ArrayList<String> getLookupPaths()
某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。
Returns: java.util.ArrayList<java.lang.String> - 某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。示例: 以下代码展示了如何手动指定查找纹理,以便导入器能够找到。
var opt = new ObjLoadOptions();
//Specify the lookup paths, so the textures can be located.
opt.getLookupPaths().add("textures");
var scene = Scene.fromFile("input.obj", opt);
scene.save("output.glb");
hashCode()
public native int hashCode()
Returns: int
notify()
public final native void notify()
notifyAll()
public final native void notifyAll()
setEncoding(Charset value)
public void setEncoding(Charset value)
设置基于文本文件的默认编码。默认值为 null,表示导入器/导出器将决定使用哪种编码。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | java.nio.charset.Charset | 新值 |
setFileName(String value)
public void setFileName(String value)
导出/导入场景的文件名。此项是可选的,但在序列化外部资源(如 OBJ 的材质)时很有用。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | java.lang.String | 新值 |
setFileSystem(FileSystem value)
public void setFileSystem(FileSystem value)
允许用户处理在加载/保存期间如何管理外部依赖项。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | FileSystem |
- Memory-based file system
- Directory-based file system
- Dummy file system
- Zip file system
您也可以使用自己的实现。
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
var opt = new ObjSaveOptions();
var memFs = new HashMap<string, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(memFs));
opt.setFileName("output.obj");
try(var output = new ByteArrayOutputStream()) {
scene.save(output, opt);
//The material will be written to variable memFs named output.mtl
var materialInBytes = memFs["output.mtl"].toArray();
}
``` |
### setFileSystemFactory(FileSystemFactory value) {#setFileSystemFactory-com.aspose.threed.FileSystemFactory-}
public static void setFileSystemFactory(FileSystemFactory value)
设置 FileSystem 的工厂类。默认工厂将创建 com.aspose.threed.LocalFileSystem,但它不适用于服务器环境。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [FileSystemFactory](../../com.aspose.threed/filesystemfactory) | 新值 **示例:** SaveOptions/LoadOptions 中的默认 FileSystem 是基于目录的文件系统,您可以通过 IOConfig.FileSystemFactory 指定来覆盖默认实现: |
IOConfig.setFileSystemFactory(new FileSystemFactory() { @Override public FileSystem call() { return FileSystem.createDummyFileSystem(); } });
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
//opt.FileSystem would be dummy file system now
var opt = new ObjSaveOptions();
scene.Save("output.obj", opt);
//the material file output.mtl will not be written to any places because we've configured a dummy file system as default implementation.
### setLookupPaths(ArrayList<String> value) {#setLookupPaths-java.util.ArrayList-java.lang.String--}
public void setLookupPaths(ArrayList
某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | 值 | java.util.ArrayList<java.lang.String> | 新值 **示例:** 以下代码展示了如何手动指定查找纹理,以便导入器能够找到。 |
var opt = new ObjLoadOptions(); //Specify the lookup paths, so the textures can be located. opt.getLookupPaths().add(“textures”); var scene = Scene.fromFile(“input.obj”, opt); scene.save(“output.glb”);
### toString() {#toString--}
public String toString()
**Returns:**
java.lang.String
### wait() {#wait--}
public final void wait()
### wait(long arg0) {#wait-long-}
public final void wait(long arg0)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long | |
### wait(long arg0, int arg1) {#wait-long-int-}
public final void wait(long arg0, int arg1)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long | |
| arg1 | int | |