Страница 1 из 1

Как сохранить формат при записи в текстовый файл

Добавлено: 20 май 2014, 12:38
mixt73
Привет! Я написала программку для обработки логов (записаны в текстовый файл в таком виде:
--- 27.01.2014 14:40:10 ---

Array
(
[Ticket] => 2010
[Count] => 2
[Phone] => 12
[Mail] => 12
[Id_PT] => 3
[date] => 16.06.2013
[HASH] => eeeeeeeeeeeeeeeeeeeeeeeeee12
[Logger_date] => 01.27.2014 14:40:10
)
Код позволяет выбрать из файла совпадения с заданным параметром, отобразить их в текстовом поле, а затем записать в другой текстовый файл. Но вот беда: запись идет в строку, а мне нужно сохранить вид текста. Подскажите, как это сделать? Вот кусок кода для записи:

Код: Выделить всё

        but6.addActionListener(new ActionListener(){            
       public void actionPerformed (ActionEvent event){ 
            JFileChooser myChoos = new JFileChooser();
       myChoos.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
       int res = myChoos.showDialog(null, "Дописать");
       if (res == JFileChooser.APPROVE_OPTION){
          File file2 = myChoos.getSelectedFile(); 
          String str2 = field2.getText();

          try{
          FileWriter f = new FileWriter(file2, true);
         PrintWriter out = new PrintWriter(f);  
         out.print(str2);
         out.close();}
          catch(IOException e){}
       }
       }    
 });

Re: Как сохранить формат при записи в текстовый файл

Добавлено: 20 май 2014, 16:07
Хыиуду
При выводе перед каждой открывающей квадратной скобкой ставить символ перевода строки (\n или #13#10)

Re: Как сохранить формат при записи в текстовый файл

Добавлено: 27 май 2014, 12:50
mixt73
Все равно пишет сплошной строкой. Я уже попробовала представить текст в виде блоков. Результата нет:
but6.addActionListener(new ActionListener(){
private final Pattern pattern2 = Pattern.compile(
"(?s)(?<=^|\n)--- \\d+.\\d+.\\d+ \\d+:\\d+:\\d+ ---\n.*?(?=\n--- \\d+.\\d+.\\d+ \\d+:\\d+:\\d+ ---|$)" );
public void actionPerformed (ActionEvent event){
JFileChooser myChoos = new JFileChooser();
myChoos.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int res = myChoos.showDialog(null, "Дописать");
if (res == JFileChooser.APPROVE_OPTION){
File file2 = myChoos.getSelectedFile();
String str2 = field2.getText();
Matcher matcher2 = pattern2.matcher(str2 + "\n");
while(matcher2.find()){
String block2 = matcher2.group();
try{
FileWriter f = new FileWriter(file2, true);
PrintWriter out = new PrintWriter(f);
out.println(block2);
out.println("\n");
out.close();
}
catch(IOException e){}}

} }
});