+ * Create a new FileParse instance reading from the same datasource starting
+ * at the current position. WARNING! Subsequent reads from either object will
+ * affect the read position of the other, but not the error state.
+ *
+ * @param from
+ */
+ public FileParse(FileParse from) throws IOException
+ {
+ if (from == null)
+ {
+ throw new Error(MessageManager.getString("error.implementation_error_null_fileparse"));
+ }
+ if (from == this)
+ return;
+ index = ++from.index;
+ inFile = from.inFile;
+ suffixSeparator = from.suffixSeparator;
+ suffix = from.suffix;
+ errormessage = from.errormessage; // inherit potential error messages
+ error = false; // reset any error condition.
+ type = from.type;
+ dataIn = from.dataIn;
+ if (dataIn != null)
+ {
+ mark();
+ }
+ dataName = from.dataName;
+ }
+
+ /**
+ * Attempt to open a file as a datasource. Sets error and errormessage if
+ * fileStr was invalid.
+ *