Makes getting lines that are not key value pairs possible
All checks were successful
KnarCraft/KnarLib/pipeline/head This commit looks good
All checks were successful
KnarCraft/KnarLib/pipeline/head This commit looks good
This commit is contained in:
parent
c35325c5a7
commit
e9efb7cd34
@ -14,7 +14,9 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -80,7 +82,7 @@ public final class FileHelper {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a buffered writer from a string pointing to a file
|
||||
* Gets a buffered writer from a buffered reader
|
||||
*
|
||||
* @param file <p>The file to write to</p>
|
||||
* @return <p>A buffered writer writing to the file</p>
|
||||
@ -101,10 +103,38 @@ public final class FileHelper {
|
||||
* @return <p>A map containing the read pairs</p>
|
||||
* @throws IOException <p>If unable to read from the stream</p>
|
||||
*/
|
||||
@NotNull
|
||||
public static Map<String, String> readKeyValuePairs(@NotNull BufferedReader bufferedReader,
|
||||
@NotNull String separator,
|
||||
@NotNull ColorConversion colorConversion) throws IOException {
|
||||
Map<String, String> readPairs = new HashMap<>();
|
||||
List<String> lines = readLines(bufferedReader);
|
||||
|
||||
for (String line : lines) {
|
||||
int separatorIndex = line.indexOf(separator);
|
||||
if (separatorIndex == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//Read the line
|
||||
String key = line.substring(0, separatorIndex);
|
||||
String value = ColorHelper.translateColorCodes(line.substring(separatorIndex + 1), colorConversion);
|
||||
readPairs.put(key, value);
|
||||
}
|
||||
|
||||
return readPairs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads all lines from a buffered reader
|
||||
*
|
||||
* @param bufferedReader <p>The buffered reader to read</p>
|
||||
* @return <p>A list of the read lines</p>
|
||||
* @throws IOException <p>If unable to read from the stream</p>
|
||||
*/
|
||||
@NotNull
|
||||
public static List<String> readLines(@NotNull BufferedReader bufferedReader) throws IOException {
|
||||
List<String> readLines = new ArrayList<>();
|
||||
|
||||
String line = bufferedReader.readLine();
|
||||
boolean firstLine = true;
|
||||
@ -115,22 +145,17 @@ public final class FileHelper {
|
||||
firstLine = false;
|
||||
}
|
||||
//Split at first separator
|
||||
int separatorIndex = line.indexOf(separator);
|
||||
if (separatorIndex == -1) {
|
||||
if (line.isEmpty()) {
|
||||
line = bufferedReader.readLine();
|
||||
continue;
|
||||
}
|
||||
|
||||
//Read the line
|
||||
String key = line.substring(0, separatorIndex);
|
||||
String value = ColorHelper.translateColorCodes(line.substring(separatorIndex + 1), colorConversion);
|
||||
readPairs.put(key, value);
|
||||
|
||||
readLines.add(line);
|
||||
line = bufferedReader.readLine();
|
||||
}
|
||||
bufferedReader.close();
|
||||
|
||||
return readPairs;
|
||||
return readLines;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user