code: private void writeDBFString(String str, int size, byte fillingChar) throws IOException {
  		assert this.language != null;
  		// Be sure that the encoding will be the right one
  		int strSize = 0;
  		if (str != null) {
  			final Charset encodingCharset = this.language.getChatset();
  			if (encodingCharset == null) {
  				throw new IOException(Locale.getString("UNKNOWN_CHARSET")); //$NON-NLS-1$
  			}
  			final byte[] bytes = str.getBytes(encodingCharset);
  			if (bytes != null) {
  				strSize = bytes.length;
  				for (int i = 0; i < size && i < strSize; ++i) {
  					this.stream.writeByte(bytes[i]);
  				}
  			}
  		}
  
  		for (int i = strSize; i < size; ++i) {
  			this.stream.writeByte(fillingChar);
  		}
  	}
docs: Write a string inside the current <var>stream</var>.
  Each character of the string will be written as bytes.
  No terminal null character is written. The
  string area will be filled with the given byte.
  
  @param str is the string to write
  @param size if the max size of the string to write. If <var>str</var>
  is longer than, it is cut.
  @param fillingChar is the character used to fill the string area.
  @throws IOException in case of error.