簡體   English   中英

如何將TableViewer的內容保存到swt中的文本文件中

[英]How to save the contents of a tableviewer into a text file in swt

我創建了一個表格查看器並顯示表格中的內容。現在我創建了一個名為save的按鈕,該按鈕必須將表格中的所有內容保存到文件中。我創建了一個對話框窗口以提供文件名,但是我沒有獲得如何將表中的完整數據保存到文本文件的方法。那么我們如何將表中的完整數據保存到文本文件。對話框的代碼如下

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
                        }
        });

請幫助我,如何將表中的完整數據保存到文本文件中。

使用此代碼。 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();
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM