Это кажется очень легко работать, на первый взгляд, но не так просто после более близкого взгляда :) Вот ответ:
public static void main(String[] args) {
try {
FileInputStream fin = new FileInputStream("/home/venkatesh/Desktop/test.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(fin));
int data = -1;
int prevChar = -1;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
do {
data = reader.read();
if (data == -1) break;
if (data == '\n') {
if (prevChar == '\n') {
baos.write('\n');
prevChar = 0;
} else {
prevChar = data;
}
} else {
if (prevChar == '\n') {
baos.write(',');
baos.write(' ');
}
baos.write(data);
prevChar = data;
}
} while (true);
System.out.println(" Written Text : \n" + new String(baos.toByteArray()));
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Краткое описание: Здесь мы выполняем следующие операции:
1. Открытие файла через FileInpu tStream, а затем обернуть его читателем по выбору. Откройте Outpustream (я использовал ByteArrayOutputStream для простоты ведения журнала).
2. Прочитайте символ char с помощью API read() и проверите несколько условий, специфичных для конкретного приложения -
a. Если currentReadChar - это новая строка char (\ n), и ранее никакой новый признак строки не просто перешел к следующему символу (не записывайте ничего в выходной поток)
b. Если currentReadChar является символом новой строки, а предыдущий также является символом новой строки, тогда записывается один символ новой строки вместо двух, а затем указывается на следующий символ.
c. Если currentReadChar не является символом новой строки, а предыдущий является символом новой строки, тогда пишите ',' в поток перед записью текущего символа
d. Если currentReadChar не является символом новой строки, а предыдущий тоже не является символом новой строки, напишите текущий символ.
3. Закройте потоки/считыватели и используйте полученный выходной поток/строку, что хотите.
Основные допущения:
1. Там будет одна новая линия голец между ExampleA1 и ExampleA1b
2. Есть две новые символы строки между следующей группой ExampleA ...
Надеюсь, что это помогает ...
'Может кто-нибудь помочь мне ?, Хорошо. Что вы пробовали? –
[Что вы пробовали?] (Http://www.whathaveyoutried.com/) Я имею в виду * кроме того, спрашивая нас. –
Взгляните на http://docs.oracle.com/javase/7/docs/api/java/io/FileReader.html для начала, попробуйте прочитать текстовый файл и распечатать его, а затем начать манипулировать им , – turbo