У меня есть входные файлы следующим образом:Чтение строки из текстового файла в Java и разделив содержание
conf/iastedCSN/KangHPLNL06 Quoc V. Phung
conf/iastedCSN/KangHPLNL06 Kungmeng Lo
conf/iastedCSN/KangHPLNL06 Hoang Nam Nguyen
conf/iastedCSN/KangHPLNL06 M. M. Lee
series/sci/ZighedAB13 Djamel Abdelkader Zighed
series/sci/ZighedAB13 Rafik Abdesselam
series/sci/ZighedAB13 Ahmed Bounekkar
series/sci/LermanG13 Isra챘l-C챕sar Lerman
И я хочу, чтобы на выходе с разделителем следующим образом:
conf/iastedCSN/KangHPLNL06 | QuocV.Phung
conf/iastedCSN/KangHPLNL06 | KungmengLo
conf/iastedCSN/KangHPLNL06 | HoangNamNguyen
conf/iastedCSN/KangHPLNL06 | M.M.Lee
series/sci/ZighedAB13 | DjamelAbdelkaderZighed
series/sci/ZighedAB13 | RafikAbdesselam
series/sci/ZighedAB13 | AhmedBounekkar
series/sci/LermanG13 | Isra챘l-C챕sarLerman
Однако сейчас , Я получил много строк, дублированных в результате, и я не мог понять, почему. Выход меня следующим образом:
conf/iastedCSN/KangHPLNL06 | QuocV.Phung
conf/iastedCSN/KangHPLNL06 | KungmengLo
conf/iastedCSN/KangHPLNL06 | HoangNamNguyen
conf/iastedCSN/KangHPLNL06 | M.M.Lee
conf/iastedCSN/KangHPLNL06 | M.M.Lee
series/sci/ZighedAB13 | DjamelAbdelkaderZighed
conf/iastedCSN/KangHPLNL06 | M.M.Lee
series/sci/ZighedAB13 | RafikAbdesselam
conf/iastedCSN/KangHPLNL06 | M.M.Lee
series/sci/ZighedAB13 | AhmedBounekkar
conf/iastedCSN/KangHPLNL06 | M.M.Lee
series/sci/LermanG13 | Isra챘l-C챕sarLerman
series/sci/ZighedAB13 | AhmedBounekkar
Ниже приведен исходный код:
package authorgraph;
import java.io.*;
import java.util.*;
public class graph {
private static BufferedReader br;
public static void main(String[] args)
{
try{
br = new BufferedReader (new FileReader ("inproceedings-author-test1.txt"));
Map<String, String> items = new TreeMap<String, String>();
String line;
while (null != (line = br.readLine()))
{
String[] line_parts = line.split(" ");
if (line_parts.length > 1)
{
StringBuilder name = new StringBuilder(line_parts[1]);
for (int i = 2; i < line_parts.length; i++)
{
name.append(line_parts[i]);
}
items.put(new String(line_parts[0]), name.toString());
}
for (String conf: items.keySet())
{
System.out.println(conf + " | " + items.get(conf));
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
};
Любая помощь будет очень ценна
Не могли бы вы отредактировать свой вопрос с выводом ожидаемого результата? – NoDataFound
Я отредактировал его с ожидаемым выходом. И я получил результат, удалив map.entry и просто напишу обычную строку. – fuschia