2014-10-08 3 views
0

Я создал просмотрщик таблиц и отображение содержимого в таблице. Теперь я создал кнопку с именем save, которая должна сохранять все содержимое таблицы в файл. Я создал диалоговое окно, чтобы дать имя файла, но я не получаю, как сохранить полные данные в таблице в текстовый файл. Так как мы можем сохранить полные данные в таблице в текстовый файл. Код для диалогового окна выглядит следующим образом:Как сохранить содержимое tableviewer в текстовый файл в swt

Button btnSave= new Button(topComposite, SWT.BUTTON2); 
     btnSave.setText("Save"); 
     //btnSave.addSelectionListener(new OpenFiler()); 



     btnSave.addSelectionListener(new SelectionAdapter() { 
      @Override public void widgetSelected(final SelectionEvent e){ 
       FileDialog dialog = new FileDialog(shell, SWT.SAVE); 
       dialog.setText("Save"); 
       String[] filterExt = { "*.log" }; 
       dialog.setFilterNames(filterExt); 
       String absolutePath = dialog.open(); 
       if (absolutePath == null) 
        return; 
           dialog.setFilterExtensions(new String[] { "*.log" });               dialog.setFilterPath("c:\\"); // Windows path 
         } 
     }); 

Пожалуйста, помогите мне, как мы можем сохранить полные данные в таблице в текстовый файл.

ответ

1

Используйте этот код. viewer - это экземпляр вашего просмотра таблицы. Добавьте этот код в конце метода addSelectionListener кнопки btnSave.

TableItem[] items = viewer.getTable().getItems(); 
    File fl = new File(dialog.getFilterPath() + File.separator + dialog.getFileName()); 
    FileWriter flwr; 
    int cls = viewer.getTable().getColumnCount(); 
      try { 
       flwr = new FileWriter(fl); 
       for (int i = 0; i < items.length; i++) { 
        for (int j = 0; j <= cls; j++) { 
         flwr.write(items[i].getText(j) + "\t"); 
        } 
        flwr.write("\n"); 
       } 
       flwr.flush(); 
       flwr.close(); 
      } catch (IOException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 
Смежные вопросы