mirror of
https://github.com/SuspiciousActivity/ByteEdit.git
synced 2026-08-13 17:56:17 +00:00
Fixes and updates
This commit is contained in:
1 parent
d1710ea6a5
commit
fb4da77359
211 files changed
+45363
-45571
No files matched your search
@@ -20,7 +20,7 @@ import javax.swing.text.Segment;
|
||||
* @version 1.0
|
||||
*/
|
||||
public class DocumentReader extends Reader {
|
||||
|
||||
|
||||
/**
|
||||
* The stream's position in the document.
|
||||
*/
|
||||
@@ -37,12 +37,11 @@ public class DocumentReader extends Reader {
|
||||
* Used for fast character access.
|
||||
*/
|
||||
private Segment segment;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param document
|
||||
* The document we're 'reading'.
|
||||
* @param document The document we're 'reading'.
|
||||
*/
|
||||
public DocumentReader(Document document) {
|
||||
position = 0;
|
||||
@@ -50,34 +49,34 @@ public class DocumentReader extends Reader {
|
||||
this.document = document;
|
||||
this.segment = new Segment();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This currently does nothing...
|
||||
*/
|
||||
@Override
|
||||
public void close() {}
|
||||
|
||||
public void close() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks the present position in the stream. Subsequent calls to
|
||||
* <code>reset()</code> will reposition the stream to this point.
|
||||
*
|
||||
* @param readAheadLimit
|
||||
* Ignored.
|
||||
* @param readAheadLimit Ignored.
|
||||
*/
|
||||
@Override
|
||||
public void mark(int readAheadLimit) {
|
||||
mark = position;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tells whether this reader supports the <code>mark</code> operation.
|
||||
* This always returns <code>true</code> for <code>DocumentReader</code>.
|
||||
* Tells whether this reader supports the <code>mark</code> operation. This
|
||||
* always returns <code>true</code> for <code>DocumentReader</code>.
|
||||
*/
|
||||
@Override
|
||||
public boolean markSupported() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reads the single character at the current position in the document.
|
||||
*/
|
||||
@@ -96,31 +95,27 @@ public class DocumentReader extends Reader {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Read <code>array.length</code> characters from the beginning
|
||||
* of the document into <code>array</code>.
|
||||
* Read <code>array.length</code> characters from the beginning of the document
|
||||
* into <code>array</code>.
|
||||
*
|
||||
* @param array
|
||||
* The array to read characters into.
|
||||
* @param array The array to read characters into.
|
||||
* @return The number of characters read.
|
||||
*/
|
||||
@Override
|
||||
public int read(char[] array) {
|
||||
return read(array, 0, array.length);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reads characters into a portion of an array.
|
||||
*
|
||||
* @param cbuf
|
||||
* The destination buffer.
|
||||
* @param off
|
||||
* Offset at which to start storing characters.
|
||||
* @param len
|
||||
* Maximum number of characters to read.
|
||||
* @return The number of characters read, or <code>-1</code> if the
|
||||
* end of the stream (document) has been reached.
|
||||
* @param cbuf The destination buffer.
|
||||
* @param off Offset at which to start storing characters.
|
||||
* @param len Maximum number of characters to read.
|
||||
* @return The number of characters read, or <code>-1</code> if the end of the
|
||||
* stream (document) has been reached.
|
||||
*/
|
||||
@Override
|
||||
public int read(char[] cbuf, int off, int len) {
|
||||
@@ -145,24 +140,23 @@ public class DocumentReader extends Reader {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tells whether this reader is ready to be read without
|
||||
* blocking for input. <code>DocumentReader</code> will
|
||||
* always return true.
|
||||
* Tells whether this reader is ready to be read without blocking for input.
|
||||
* <code>DocumentReader</code> will always return true.
|
||||
*
|
||||
* @return <code>true</code> if the next read operation will
|
||||
* return without blocking.
|
||||
* @return <code>true</code> if the next read operation will return without
|
||||
* blocking.
|
||||
*/
|
||||
@Override
|
||||
public boolean ready() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Resets the stream. If the stream has been marked, then attempt to
|
||||
* reposition it at the mark. If the stream has not been marked, then
|
||||
* move it to the beginning of the document.
|
||||
* Resets the stream. If the stream has been marked, then attempt to reposition
|
||||
* it at the mark. If the stream has not been marked, then move it to the
|
||||
* beginning of the document.
|
||||
*/
|
||||
@Override
|
||||
public void reset() {
|
||||
@@ -173,12 +167,11 @@ public class DocumentReader extends Reader {
|
||||
mark = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Skips characters. This will not 'skip' past the end of the document.
|
||||
*
|
||||
* @param n
|
||||
* The number of characters to skip.
|
||||
* @param n The number of characters to skip.
|
||||
* @return The number of characters actually skipped.
|
||||
*/
|
||||
@Override
|
||||
@@ -191,14 +184,13 @@ public class DocumentReader extends Reader {
|
||||
position = document.getLength();
|
||||
return document.getLength() - temp;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Move to the specified position in the document. If <code>pos</code>
|
||||
* is greater than the document's length, the stream's position is moved
|
||||
* to the end of the document.
|
||||
* Move to the specified position in the document. If <code>pos</code> is
|
||||
* greater than the document's length, the stream's position is moved to the end
|
||||
* of the document.
|
||||
*
|
||||
* @param pos
|
||||
* The position in the document to move to.
|
||||
* @param pos The position in the document to move to.
|
||||
*/
|
||||
public void seek(long pos) {
|
||||
position = Math.min(pos, document.getLength());
|
||||
|
||||
@@ -28,12 +28,11 @@ import java.io.Writer;
|
||||
* @version 0.7
|
||||
*/
|
||||
public class UnicodeWriter extends Writer {
|
||||
|
||||
|
||||
/**
|
||||
* If this system property evaluates to "<code>false</code>", ignoring
|
||||
* case, files written out as UTF-8 will not have a BOM written for them.
|
||||
* Otherwise (even if the property is not set), UTF-8 files will have a
|
||||
* BOM written.
|
||||
* If this system property evaluates to "<code>false</code>", ignoring case,
|
||||
* files written out as UTF-8 will not have a BOM written for them. Otherwise
|
||||
* (even if the property is not set), UTF-8 files will have a BOM written.
|
||||
*/
|
||||
public static final String PROPERTY_WRITE_UTF8_BOM = "UnicodeWriter.writeUtf8BOM";
|
||||
/**
|
||||
@@ -45,73 +44,62 @@ public class UnicodeWriter extends Writer {
|
||||
private static final byte[] UTF16BE_BOM = new byte[] { (byte) 0xFE, (byte) 0xFF };
|
||||
private static final byte[] UTF32LE_BOM = new byte[] { (byte) 0xFF, (byte) 0xFE, (byte) 0x00, (byte) 0x00 };
|
||||
private static final byte[] UTF32BE_BOM = new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0xFE, (byte) 0xFF };
|
||||
|
||||
|
||||
/**
|
||||
* This is a utility constructor since the vast majority of the time, this
|
||||
* class will be used to write Unicode files.
|
||||
* This is a utility constructor since the vast majority of the time, this class
|
||||
* will be used to write Unicode files.
|
||||
*
|
||||
* @param fileName
|
||||
* The file to which to write the Unicode output.
|
||||
* @param encoding
|
||||
* The encoding to use.
|
||||
* @throws IOException
|
||||
* If an IO exception occurs.
|
||||
* @param fileName The file to which to write the Unicode output.
|
||||
* @param encoding The encoding to use.
|
||||
* @throws IOException If an IO exception occurs.
|
||||
*/
|
||||
public UnicodeWriter(String fileName, String encoding) throws IOException {
|
||||
this(new FileOutputStream(fileName), encoding);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is a utility constructor since the vast majority of the time, this
|
||||
* class will be used to write Unicode files.
|
||||
* This is a utility constructor since the vast majority of the time, this class
|
||||
* will be used to write Unicode files.
|
||||
*
|
||||
* @param file
|
||||
* The file to which to write the Unicode output.
|
||||
* @param encoding
|
||||
* The encoding to use.
|
||||
* @throws IOException
|
||||
* If an IO exception occurs.
|
||||
* @param file The file to which to write the Unicode output.
|
||||
* @param encoding The encoding to use.
|
||||
* @throws IOException If an IO exception occurs.
|
||||
*/
|
||||
public UnicodeWriter(File file, String encoding) throws IOException {
|
||||
this(new FileOutputStream(file), encoding);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new writer.
|
||||
*
|
||||
* @param out
|
||||
* The output stream to write.
|
||||
* @param encoding
|
||||
* The encoding to use.
|
||||
* @throws IOException
|
||||
* If an IO exception occurs.
|
||||
* @param out The output stream to write.
|
||||
* @param encoding The encoding to use.
|
||||
* @throws IOException If an IO exception occurs.
|
||||
*/
|
||||
public UnicodeWriter(OutputStream out, String encoding) throws IOException {
|
||||
init(out, encoding);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Closes this writer.
|
||||
*
|
||||
* @throws IOException
|
||||
* If an IO exception occurs.
|
||||
* @throws IOException If an IO exception occurs.
|
||||
*/
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
internalOut.close();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Flushes the stream.
|
||||
*
|
||||
* @throws IOException
|
||||
* If an IO exception occurs.
|
||||
* @throws IOException If an IO exception occurs.
|
||||
*/
|
||||
@Override
|
||||
public void flush() throws IOException {
|
||||
internalOut.flush();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the encoding being used to write this output stream (i.e., the
|
||||
* encoding of the file).
|
||||
@@ -121,7 +109,7 @@ public class UnicodeWriter extends Writer {
|
||||
public String getEncoding() {
|
||||
return internalOut.getEncoding();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns whether UTF-8 files should have a BOM in them when written.
|
||||
*
|
||||
@@ -137,17 +125,14 @@ public class UnicodeWriter extends Writer {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initializes the internal output stream and writes the BOM if the
|
||||
* specified encoding is a Unicode encoding.
|
||||
* Initializes the internal output stream and writes the BOM if the specified
|
||||
* encoding is a Unicode encoding.
|
||||
*
|
||||
* @param out
|
||||
* The output stream we are writing.
|
||||
* @param encoding
|
||||
* The encoding in which to write.
|
||||
* @throws IOException
|
||||
* If an I/O error occurs while writing a BOM.
|
||||
* @param out The output stream we are writing.
|
||||
* @param encoding The encoding in which to write.
|
||||
* @throws IOException If an I/O error occurs while writing a BOM.
|
||||
*/
|
||||
private void init(OutputStream out, String encoding) throws IOException {
|
||||
internalOut = new OutputStreamWriter(out, encoding);
|
||||
@@ -169,60 +154,49 @@ public class UnicodeWriter extends Writer {
|
||||
out.write(UTF32BE_BOM, 0, UTF32BE_BOM.length);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets whether UTF-8 files should have a BOM written in them.
|
||||
*
|
||||
* @param write
|
||||
* Whether to write a BOM.
|
||||
* @param write Whether to write a BOM.
|
||||
* @see #getWriteUtf8BOM()
|
||||
* @see UnicodeWriter
|
||||
*/
|
||||
public static void setWriteUtf8BOM(boolean write) {
|
||||
System.setProperty(UnicodeWriter.PROPERTY_WRITE_UTF8_BOM, Boolean.toString(write));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes a portion of an array of characters.
|
||||
*
|
||||
* @param cbuf
|
||||
* The buffer of characters.
|
||||
* @param off
|
||||
* The offset from which to start writing characters.
|
||||
* @param len
|
||||
* The number of characters to write.
|
||||
* @throws IOException
|
||||
* If an I/O error occurs.
|
||||
* @param cbuf The buffer of characters.
|
||||
* @param off The offset from which to start writing characters.
|
||||
* @param len The number of characters to write.
|
||||
* @throws IOException If an I/O error occurs.
|
||||
*/
|
||||
@Override
|
||||
public void write(char[] cbuf, int off, int len) throws IOException {
|
||||
internalOut.write(cbuf, off, len);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes a single character.
|
||||
*
|
||||
* @param c
|
||||
* An integer specifying the character to write.
|
||||
* @throws IOException
|
||||
* If an IO error occurs.
|
||||
* @param c An integer specifying the character to write.
|
||||
* @throws IOException If an IO error occurs.
|
||||
*/
|
||||
@Override
|
||||
public void write(int c) throws IOException {
|
||||
internalOut.write(c);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes a portion of a string.
|
||||
*
|
||||
* @param str
|
||||
* The string from which to write.
|
||||
* @param off
|
||||
* The offset from which to start writing characters.
|
||||
* @param len
|
||||
* The number of characters to write.
|
||||
* @throws IOException
|
||||
* If an IO error occurs.
|
||||
* @param str The string from which to write.
|
||||
* @param off The offset from which to start writing characters.
|
||||
* @param len The number of characters to write.
|
||||
* @throws IOException If an IO error occurs.
|
||||
*/
|
||||
@Override
|
||||
public void write(String str, int off, int len) throws IOException {
|
||||
|
||||
Reference in new issue
Block a user