public final class FileText extends java.lang.Object
This class will be passed to instances of class FileSetCheck by Checker.
| Modifier and Type | Field and Description |
|---|---|
private java.nio.charset.Charset |
charset
The charset used to read the file.
|
private java.io.File |
file
The name of the file.
|
private java.lang.String |
fullText
The full text contents of the file.
|
private static java.util.regex.Pattern |
LINE_TERMINATOR
Regular expression pattern matching all line terminators.
|
private int[] |
lineBreaks
The first position of each line within the full text.
|
private java.lang.String[] |
lines
The lines of the file, without terminators.
|
private static int |
READ_BUFFER_SIZE
The number of characters to read in one go.
|
| Constructor and Description |
|---|
FileText(java.io.File file,
java.util.List<java.lang.String> lines)
Compatibility constructor.
|
FileText(java.io.File file,
java.lang.String charsetName)
Creates a new file text representation.
|
FileText(FileText fileText)
Copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private int[] |
findLineBreaks()
Find positions of line breaks in the full text.
|
java.lang.String |
get(int lineNo)
Retrieves a line of the text by its number.
|
java.nio.charset.Charset |
getCharset()
Get the character set which was used to read the file.
|
java.io.File |
getFile()
Get the name of the file.
|
java.lang.CharSequence |
getFullText()
Retrieve the full text of the file.
|
LineColumn |
lineColumn(int pos)
Determine line and column numbers in full text.
|
private static java.lang.String |
readFile(java.io.File inputFile,
java.nio.charset.CharsetDecoder decoder)
Reads file using specific decoder and returns all its content as a String.
|
int |
size()
Counts the lines of the text.
|
java.lang.String[] |
toLinesArray()
Returns an array of all lines.
|
private static final int READ_BUFFER_SIZE
private static final java.util.regex.Pattern LINE_TERMINATOR
private final java.io.File file
null if no file name is available for whatever reason.private final java.nio.charset.Charset charset
null if the file was reconstructed from a list of lines.private final java.lang.String[] lines
private java.lang.String fullText
Field is not final to ease reaching full test coverage.
private int[] lineBreaks
public FileText(FileText fileText)
fileText - to make copy ofpublic FileText(java.io.File file, java.util.List<java.lang.String> lines)
This constructor reconstructs the text of the file by joining lines with linefeed characters. This process does not restore the original line terminators and should therefore be avoided.
file - the name of the filelines - the lines of the text, without terminatorsjava.lang.NullPointerException - if the lines array is nullpublic FileText(java.io.File file, java.lang.String charsetName) throws java.io.IOException
The file will be read using the specified encoding, replacing malformed input and unmappable characters with the default replacement character.
file - the name of the filecharsetName - the encoding to use when reading the filejava.lang.NullPointerException - if the text is nulljava.lang.IllegalStateException - if the charset is not supported.java.io.IOException - if the file could not be readprivate static java.lang.String readFile(java.io.File inputFile, java.nio.charset.CharsetDecoder decoder) throws java.io.IOException
inputFile - File to readdecoder - Charset decoderjava.io.IOException - Unable to open or read the filejava.io.FileNotFoundException - when inputFile does not existspublic java.lang.String get(int lineNo)
lineNo - the number of the line to get, starting at zeropublic java.io.File getFile()
public java.nio.charset.Charset getCharset()
null for a file reconstructed from its lines.public java.lang.CharSequence getFullText()
public java.lang.String[] toLinesArray()
text.toLinesArray() is equivalent to
text.toArray(new String[text.size()]).public LineColumn lineColumn(int pos)
pos - the character position in the full textprivate int[] findLineBreaks()
public int size()
Copyright © 2001-2022. All Rights Reserved.