2014-10-08 83 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是您的表格查看器的實例。將此代碼添加到按鈕btnSaveaddSelectionListener方法的末尾。

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(); 
      } 
相關問題