Я хочу удалить повторяющееся число из большого текстового файла, где первая строка - это число отсортированных чисел в строке, но ограничение памяти - 20 мб.Я прочитал статью Как читать большой файл и попытался использовать BufferedWriter, но для этого процесса требуется более 20 мб.Помогите мне, пожалуйста.
import java.io.*;
import java.util.Scanner;
public class DeleteRepeatingNumbers {
public static void main(String[] args) throws IOException {
try (Scanner sc = new Scanner(
new FileInputStream("input.txt"), "UTF-8");
Writer writer = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("output.txt"), "utf-8"))) {
int n = sc.nextInt();
int prevInt = 0;
if (n != 0) {
prevInt = sc.nextInt();
writer.write(String.valueOf(prevInt));
}
for (int i = 0; i < n - 1; i++) {
int next = sc.nextInt();
if (next != prevInt) {
writer.write(System.getProperty("line.separator"));
writer.write(String.valueOf(next));
prevInt = next;
}
}
}
}
}
Пример:
21
2
4
8
8
8
9
11
11
11
11
11
11
13
14
15
16
222
222
222
222
222