Writes on the indicated file in first argument the data of the stream indicated in the second argument.
If the file does not exist, it is created with the content indicated in this function. If the file exist, it can be indicated explicitly using
the attribute append which you want to add the text because if it is not indicated, the content of the file will become the text indicated
in this function (by default, the content is not added, it is replaced).
1 file.bytes.write
<file.bytes.write
append='true|false'
encoding='encoding'
>
<file /> +
<texto /> +
</file.bytes.write>
Attributes | |||||
---|---|---|---|---|---|
Name | Type | Required | Default | Description | |
Aappend | boolean | false | Indicates if the text should be added to the file, or otherwise the content should be replaced with the new text passed in this function (default option). | ||
Aencoding | string | Indicates the encoding of the string og characters to process, for example ISO-8859-1 or UTF-8. If not been specified, the one defined in the configuration file for the server is used. |
Arguments | |||||
---|---|---|---|---|---|
Name | Type | Required | Unique | Nullable | Description |
Efile | File | File in which you want to write a text. | |||
Etexto | stream | Text which will be added to the file. |
Returns | |
---|---|
Type | Description |
Integer | Number of written bytes. |
Exceptions
requires 2 arguments, received: [...]
The correct number of arguments has not been specified.
java.io.FileNotFoundException: ... (The system cannot found the specified path).
The indicated path of the file does not exist. If the field does not exist, the function will create it, but at least the location must exist.
Example
Establish the content of a file.
Copy
<xsql-script name='file_write'> <body> <set name='m_file'> <string>c:<file.separator />tmp<file.separator />deister.txt</string> </set> <file.bytes.write> <file name='#m_file' type='absolute' /> <string.getBytes>texto del fichero</string.getBytes> </file.bytes.write> </body> </xsql-script>
Example
Add content to a file. In this case, if the same file is used as in the previous example, the content would be:
Copy
<xsql-script name='file_write'> <body> <set name='m_file'> <string>c:<file.separator />tmp<file.separator />deister.txt</string> </set> <!-- The file will consist of this two lines: text of the file text to add --> <file.bytes.write> <file name='#m_file' type='absolute' /> <string>text of the file</string> </file.bytes.write> <file.bytes.write append='true'> <file name='#m_file' type='absolute' /> <string.getBytes>text to add</string.getBytes> </file.bytes.write> </body> </xsql-script>
Example
Write a file with the wished encoding.
Copy
<xsql-script name='file_write_sample3'> <body> <set name='m_source_file'> <string>c:<file.separator />tmp<file.separator />source.txt</string> </set> <!-- Origin data file with UTF-8 encoding --> <set name='m_text' type='string'> <object.2string> <file.bytes.read> <file name='#m_source_file' type='absolute' /> <file.bytes.read> </object.2string> </set> <set name='m_dest_file'> <string>c:<file.separator />tmp<file.separator />destination.txt</string> </set> <file.bytes.write append='true' encoding-src='UTF-8' encoding-dst='UTF-8'> <file name='#m_dest_file' type='absolute' /> <m_text/> </file.bytes.write> </body> </xsql-script>