2012-02-18 2 views
2

У меня очень странный файл в моей компании. Он был создан программой, написанной людьми давно. Он содержит множество свойств вместе с пользователями, у которых есть эти свойства. Это выглядит ниже. Я должен прочитать этот файл по строкам и разделить свойства и пользователей на два списка. например, в первой строке все реквизиты должны быть в одном списке, а пользователи в квадратных скобках должны быть в другом списке. количество пользователей меняется все время, и это делает мою задачу сложной. может кто-нибудь предложить мне взломать его? Я взламываю голову с двух часов вместо нее. любые намеки были бы чрезвычайно заметными.Как прочитать файл в java-списках?

Properties,prop1,prop2,prop3,[user1,user2,user3,],prop4,prop5 
Properties,prop1,prop2,prop3,[user1,user2,user3,user4,],prop4,prop5 
Properties,prop1,prop2,prop3,[user1,],prop4,prop5 
Properties,prop1,prop2,prop3,[user1,user2,],prop4,prop5 
Properties,prop1,prop2,prop3,[user1,user2,user3,user4,user5,],prop4,prop5 
+0

Используйте квадратную скобку, чтобы идентифицировать список пользователей .. Возможно, вы что-то пробовали ??? –

ответ

2

Я хотел бы написать простой парсер с государственной машиной, где [ выключателей читать книгу пользователей и ] выключателей читать книгу свойств.

Альтернативой является разделение линий двумя способами.

String line; 
while((line = bufferedReader.readLine()) != null) { 
    for(String parts: line.split("\\[")) { 
     String[] userProps = parts.split("\\)"); 
     String users = userProps.length==1 ? "" : userProps[0]; 
     String props = userProps[userProps.length-1]; 
     // break up the individual users and props 
    } 
} 
Смежные вопросы