Java Swing实现打开,保存文件

package zikao.swing;

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class JFileChooserDemo {
    /*
    JFileChooser使用步骤

    1,创建JFileChooser对象
    JFileChooser jfc=new JFileChooser(指定本地磁盘路径);

    2,调用JFileChooser的相关方法进行初始化
    setSelectedFile(File file) / setSelectedFile(File[] selectedFiles)

    设定默认选中的文件

    setMultiSelectionEnabled(boolean result):

    设置是否允许多选,默认是单选

    setFileSelectionMode(int mode):

    设置可选择内容,例如文件或文件夹,等,默认只能选择文件

    3,打开文件对话框
    showOpenDialog(Component component):

    打开文件加载对话框,并指定父组件

    showSaveDialog(Component component):

    打开文件保存对话框,并指定父组件

    4,获取用户选择的结果
    File getSelectedFile(): 获取用户选择的一个文件

    File getSelectedFiles(): 获取用户选择的多个文件
     */
    JFrame jFrame = new JFrame("测试JFileChooser");
    //创建菜单条
    JMenuBar jmb = new JMenuBar();
    //创建菜单
    JMenu jMenu = new JMenu("文件");
    JMenuItem open = new JMenuItem(new AbstractAction("打开") {
        @Override
        public void actionPerformed(ActionEvent e) {
            //显示一个文件选择器
            JFileChooser fileChooser = new JFileChooser(".");
            fileChooser.showOpenDialog(jFrame);
            File file = fileChooser.getSelectedFile();
            //进行显示
            try {
                image = ImageIO.read(file);
                drawArea.repaint();
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
    });
    JMenuItem save = new JMenuItem(new AbstractAction("保存") {
        @Override
        public void actionPerformed(ActionEvent e) {
            JFileChooser fileChooser = new JFileChooser(".");
            fileChooser.showOpenDialog(jFrame);
            File file = fileChooser.getSelectedFile();
            try {
                ImageIO.write(image, "jpg", file);
            } catch (IOException ioException) {
                ioException.printStackTrace();
            }
        }
    });
    BufferedImage image;

    private class MyCanvas extends JPanel {
        @Override
        public void paint(Graphics g) {
            g.drawImage(image, 0, 0, null);
        }
    }

    MyCanvas drawArea = new MyCanvas();

    public void init() {
        jMenu.add(open);
        jMenu.add(save);
        jmb.add(jMenu);
        jFrame.setJMenuBar(jmb);
        drawArea.setPreferredSize(new Dimension(800, 600));
        jFrame.add(drawArea);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.pack();
        jFrame.setVisible(true);
    }

    public static void main(String[] args) {
        new JFileChooserDemo().init();
    }
}

                                                                       效果图:

                                                                               点击按钮后的

 

 

 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用java Swing实现文件上传操作,首先需要使用JFileChooser组件实现文件选择,然后使用URLConnection和HttpURLConnection来发送文件数据,最后使用InputStream进行流的读取和写入操作即可实现文件上传操作。 ### 回答2: 使用Java Swing实现文件上传操作可以通过以下步骤实现: 1. 创建一个Swing界面,包含选择文件按钮、上传按钮和文件名显示框等组件。 2. 在选择文件按钮的事件监听中,使用JFileChooser弹出文件选择框。用户可以选择要上传的文件。 3. 在上传按钮的事件监听中,获取用户选择的文件路径。 4. 使用File和FileInputStream打开选择的文件,并将其读入到字节数组中。 5. 创建一个Socket连接到服务器的指定端口,并将文件内容以字节数组的形式通过Socket发送到服务器。 6. 在服务器端创建一个ServerSocket并监听指定端口,接受客户端的连接。然后使用InputStream和FileOutputStream将接收到的文件内容写入到指定目录。 7. 在客户端和服务器端都需要实现错误处理,包括连接中断、文件不存在等异常情况的处理。 8. 在上传过程中可以实现进度条显示上传进度。 通过以上步骤,可以使用Java Swing实现文件上传操作。注意,这只是一个基本的文件上传实现,实际应用中还需要处理更多细节和异常情况。 ### 回答3: 使用Java Swing实现文件上传操作可以按照以下步骤进行: 1. 创建一个Swing的用户界面,可以使用JFileChooser组件来实现文件选择功能。通过调用JFileChooser的showOpenDialog方法,可以弹出一个文件选择对话框,用户可以选择上传的文件。 2. 获取用户选择的文件路径,可以使用JFileChooser的getSelectedFile方法获得用户选择的文件的File对象。 3. 创建一个上传按钮,并为上传按钮添加监听事件。在监听事件中,获取用户选择的文件,然后将文件上传到服务器。 4. 在监听事件中,使用IO流将文件传输到服务器。可以使用FileInputStream来读取文件内容,并使用Socket将文件内容发送到服务器。 5. 在服务器端实现接收文件的功能,可以使用ServerSocket监听指定端口,然后使用Socket的accept方法接收客户端发送的文件内容。 6. 服务器接收到文件内容后,可以使用FileOutputStream将文件内容写入服务器的文件系统中,保存上传的文件。 7. 在客户端和服务器端都需要处理异常情况,如文件不存在、网络连接异常等。可以使用try-catch语句来捕获异常,并进行相应的处理。 通过以上步骤,我们就可以使用Java Swing实现文件上传操作。需要注意的是,文件上传操作涉及到网络传输和文件操作,需要确保网络连接正常和有相应的权限支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值