Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvements IO-API-for-Modules doc (fixes #3654) #5263

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions docs/IO-API-for-Modules.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
I/O API for Modules
=================

To protect the user's system, you cannot use `java.io.File` directly, however a bunch of modules may need access to files. Finally, this feature allow modules to have **limited** access to files. Basically, there are two file operations allowed, `readFile` and `writeFile`, both of them works under the `Terasology/sandbox` directory. Take a look on the instructions bellow to learn how to use them.
To protect the user's system, you cannot use `java.io.File` directly, however a bunch of modules may need access to files. Finally, this feature allow modules to have **limited** access to files. Basically, there are two file operations allowed, `readFile` and `writeFile`, both of them works under the `Terasology/sandbox` directory. This does not allow to create directories. Take a look on the instructions bellow to learn how to use them.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To protect the user's system, you cannot use `java.io.File` directly, however a bunch of modules may need access to files. Finally, this feature allow modules to have **limited** access to files. Basically, there are two file operations allowed, `readFile` and `writeFile`, both of them works under the `Terasology/sandbox` directory. This does not allow to create directories. Take a look on the instructions bellow to learn how to use them.
To protect the user's system, you cannot use `java.io.File` directly, however a bunch of modules may need access to files. Finally, this feature allow modules to have **limited** access to files. Basically, there are two file operations allowed, `readFile` and `writeFile`, both of them works under the `Terasology/sandbox` directory. This does not allow you to create directories. Take a look on the instructions bellow to learn how to use them.


1. The first step is to import and initialize the sandbox file manager where you need it, for this you can do the following:
```java
SandboxFileManager sandboxFileManager = new SandboxFileManager();
```
2. Second, create a consumer. We have two different types of consumers.
* Read file consumer:
* Write file consumer:
```java
// put whatever you need here
byte[] someBytes = new byte[2];
Expand All @@ -21,7 +21,7 @@ Consumer<OutputStream> consumer = outputStream -> {
}
};
```
* Write file consumer:
* Read file consumer:
```java
Consumer<InputStream> consumer = inputStream -> {
try {
Expand All @@ -46,4 +46,4 @@ sandboxFileManager.readFile("file.txt", consumer);
sandboxFileManager.writeFile("file.txt", consumer);
```

Finally, if you wrote any file, you can see them in `Terasology/sandbox` directory. :smiley:
Finally, if you wrote any file, you can see them in `Terasology/sandbox` directory. :smiley:
Loading