Java SWT 文件保存

我在保存文件时遇到了问题,因为我已经搜索过,我写的很好,除了一件事,文件没有真正创建。缺少什么?


        Button btnExport = new Button(composite_1, SWT.NONE);

    btnExport.addSelectionListener(new SelectionAdapter() {

        @Override

        public void widgetSelected(SelectionEvent e) {

            FileDialog fileSave = new FileDialog(pmComp, SWT.SAVE);

            fileSave.setFilterNames(new String[] {"CSV"});

            fileSave.setFilterExtensions(new String[] {"*.csv"});

            fileSave.setFilterPath("c:\\"); // Windows path

            fileSave.setFileName("your_file_name.csv");

            fileSave.open();


            System.out.println("File Saved as: " + fileSave.getFileName());

        }

    });

    btnExport.setBounds(246, 56, 75, 40);

    btnExport.setText("Export");


回首忆惘然
浏览 176回答 3
3回答

牛魔王的故事

从FileDialog:此类的实例允许用户浏览文件系统并 选择或输入文件名。该对话框不会自行创建文件,您必须检索所选文件名,然后创建文件。例如String name = fileSave.getFileName();File file = new File(name);file.createNewFile();

斯蒂芬大帝

FileDialog仅用于选择文件保存的位置。它并没有真正创建或写入文件-你必须这样做。所以String savePath = fileSave.open();// TODO your code to write the file to savePath

幕布斯7119047

import java.io.File;import java.io.IOException;import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.FileDialog;import org.eclipse.swt.widgets.Shell;public class Snippet {    public static void main(String[] args) {        Display display = new Display();        Shell shell = new Shell(display);        shell.setLayout(new GridLayout(1, false));        Composite composite = new Composite(shell, SWT.NONE);        composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));        composite.setLayout(new GridLayout(1, false));        Button btnExport = new Button(composite, SWT.NONE);        btnExport.addSelectionListener(new SelectionAdapter() {            @Override            public void widgetSelected(SelectionEvent e) {                FileDialog fileSave = new FileDialog(shell, SWT.SAVE);                fileSave.setFilterNames(new String[] { "CSV" });                fileSave.setFilterExtensions(new String[] { "*.csv" });                fileSave.setFilterPath("C:\\"); // Windows path                fileSave.setFileName("your_file_name.csv");                String open = fileSave.open();                File file = new File(open);                try {                    file.createNewFile();                    System.out.println("File Saved as: " + file.getCanonicalPath());                } catch (IOException e1) {                    e1.printStackTrace();                }            }        });        btnExport.setBounds(246, 56, 75, 40);        btnExport.setText("Export");        shell.pack();        shell.open();        while (!shell.isDisposed()) {            if (!display.readAndDispatch())                display.sleep();        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java