У меня есть ниже Requirment:Разделенные файлы на основе содержимого файла и сопоставления с образцом в Java
Rate: GBP
12/01/1999,90.5911501,Validated
.....
.....
18/01/1999,90.954996,Validated
Rate: RMB
24/04/2008,132.2542,Validated
.....
25/04/2008,132.2279,Validated
28/04/2008,131.69915,Validated
Rate: USD
21/11/11,-0.004419534,Validated
Rate: RMB
24/04/2008,132.2542,Validated
.....
25/04/2008,132.2279,Validated
28/04/2008,131.69915,Validated
Rate: RMB
24/04/2008,132.2542,Validated
.....
25/04/2008,132.2279,Validated
28/04/2008,131.69915,Validated
Rate: GBP
12/01/1999,90.5911501,Validated
.....
.....
Rate: GBP
12/01/1999,90.5911501,Validated
.....
.....
Rate: USD
21/11/11,-0.004419534,Validated
Здесь у меня есть 3 «Оценить: RMB» линии и детали этих недо следующая строка «Rate». Мой Requirment, чтобы разбить этот файл на основе «Rate: ПКМ» и создать выходные файлы с «Rate:. Юаней и его детали выход будет, как показано ниже:
Rate: RMB
24/04/2008,132.2542,Validated
.....
25/04/2008,132.2279,Validated
28/04/2008,131.69915,Validated
Rate: RMB
24/04/2008,132.2542,Validated
.....
25/04/2008,132.2279,Validated
28/04/2008,131.69915,Validated
Rate: RMB
24/04/2008,132.2542,Validated
.....
25/04/2008,132.2279,Validated
28/04/2008,131.69915,Validated
Я попытался с Java, но не в состоянии получить требуемую мощность
Мой код:.
public static void main(String[] args) throws IOException
{
FileInputStream fis = new FileInputStream("C:\\Users\\User\\Desktop\\SplitFile\\InputTest.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
// System.out.println("11111");
String s = "";
String rate = "RMB";
StringBuilder sb = new StringBuilder();
int count = 1;
// s=br.readLine();
while ((s = br.readLine()) != null)
{
if (s.contains("Rate") && s.substring(6, 9).equals(rate))
{
if (sb.length() != 0)
{
System.out.println(count);
File file = new File("C:\\Users\\User\\Desktop\\SplitFile\\" + rate + "_" + count + ".txt");
PrintWriter writer = new PrintWriter(file, "UTF-8");
writer.println(sb.toString());
writer.close();
sb.delete(0, sb.length());
count++;
}
continue;
// System.out.println(name);
// call read file
}
sb.append(s + "\n");
System.out.println(sb);
// s=br.readLine();
}
br.close();
}
«но не может получить требуемый результат». Какой выход вы получаете? –
Я получаю три разных файла с именем RMB_1, RMB_2, RMB_3 со всеми подробностями, даже с деталями «Rate: GBP» ... – ramansingh