Ignore_ReadUTF8File.groovy 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import com.dySweetFishPlugin.tool.lang.Holder
  2. import org.apache.logging.log4j.Logger
  3. import java.nio.charset.StandardCharsets
  4. import java.nio.file.Files
  5. import java.nio.file.Path
  6. import java.util.stream.Stream
  7. class Ignore_ReadUTF8File {
  8. static String execute(Path scriptFile, boolean trimed, Logger logger) {
  9. final StringBuilder buf = new StringBuilder()
  10. try {
  11. Integer iIndex = 0
  12. Holder<Integer> prefix = Holder.of(iIndex)
  13. try (Stream<String> lines = Files.lines(scriptFile, StandardCharsets.UTF_8)) {
  14. lines.each { line ->
  15. line = (trimed) ? line.trim() : line
  16. if (!line.isEmpty()) {
  17. if (prefix.get() == 0) {
  18. buf.append((trimed) ? line.trim() : line)
  19. } else {
  20. buf.append("\n").append((trimed) ? line.trim() : line)
  21. }
  22. prefix.set(1)
  23. } else {
  24. if (!trimed) buf.append("\n")
  25. }
  26. }
  27. }
  28. } catch (IOException e) {
  29. logger.error(e.getMessage(), e)
  30. }
  31. return buf.toString()
  32. }
  33. }