| 145 | } |
| 146 | |
| 147 | private void check(File file, List<CheckFailure> errors, Mode mode) throws IOException { |
| 148 | try (FileInputStream fis = new FileInputStream(file); BufferedInputStream is = new BufferedInputStream(fis)) { |
| 149 | int line = 1; |
| 150 | int prev = -1; |
| 151 | int ch; |
| 152 | while ((ch = is.read()) != -1) { |
| 153 | if (ch == '\n') { |
| 154 | if (mode == Mode.LF && prev == '\r') { |
| 155 | errors.add(new CheckFailure(file, line, "CRLF")); |
| 156 | return; |
| 157 | } else if (mode == Mode.CRLF && prev != '\r') { |
| 158 | errors.add(new CheckFailure(file, line, "LF")); |
| 159 | return; |
| 160 | } |
| 161 | line++; |
| 162 | } else if (prev == '\r') { |
| 163 | errors.add(new CheckFailure(file, line, "CR")); |
| 164 | return; |
| 165 | } |
| 166 | prev = ch; |
| 167 | } |
| 168 | } |
| 169 | } |
| 170 | } |