package aaa;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
public class FileUpload implements ActionListener {
String filesavepath="";
String filename="";
JFrame jframe=new JFrame("文件上传");
JLabel jlabel=new JLabel("文件上传:");
JTextField jtext=new JTextField();
JButton jbutton=new JButton("选择文件");
JButton upload=new JButton("上传");
String columnNames[]={"A","B","C","D","E"};
Vector<String> columnnameV=new Vector<String>();
JMenuBar jmenubar=new JMenuBar();
JMenu jMenu1=new JMenu("menu1");
JMenu jMenu2=new JMenu("menu2");
JMenu jMenu11=new JMenu("menu11");
JMenuItem jemitem111=new JMenuItem("item111");
public FileUpload(){
jframe.setBounds(300, 200, 800, 600);
jlabel.setBounds(50, 40, 80, 20);
jtext.setBounds(120, 40, 300, 20);
jbutton.setBounds(440, 40,80, 20);
upload.setBounds(540, 40, 80, 20);
jmenubar.setBounds(0, 0, 800, 30);
for(int i=0;i<columnNames.length;i++){
columnnameV.add(columnNames[i]);//获得表头
}
Vector<Object> tableValueV = new Vector<Object>();
for(int row = 1;row<21;row++) //获得数据
{
Vector<Object> rowV = new Vector<Object>();
for(int column = 0;column<columnNames.length;column++)
{
rowV.add(columnNames[column]+row); //数据
}
tableValueV.add(rowV);
}
JTable jtable=new JTable(tableValueV, columnnameV){
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {//设置表格单元格不可以被编辑
// TODO Auto-generated method stub
return false;
}
};
JScrollPane jsp=new JScrollPane(jtable,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jsp.setBounds(50, 100, 700, 320);
jtable.setBorder(new LineBorder(Color.gray));//设置表格边框颜色
//jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//关闭表格自动调整功能,不加这个,表格可以自适应滚动条的宽度
jtable.setAutoscrolls(true);
jMenu11.add(jemitem111);
jMenu1.add(jMenu11);
jmenubar.add(jMenu1);
jmenubar.add(jMenu2);
jtext.setEditable(false);
jtext.setBackground(Color.white);
jframe.add(jlabel);
jframe.add(jtext);
jframe.add(jbutton);
jframe.add(upload);
jframe.add(jsp);
jframe.setLayout(null);
jframe.setVisible(true);
jframe.add(jmenubar);
jbutton.addActionListener(this);
upload.addActionListener(this);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource().equals(jbutton)){
JFileChooser jfchooser=new JFileChooser("E:\\");
jfchooser.setDialogTitle("选择文件");
int rtn=jfchooser.showOpenDialog(jframe);
if(rtn==JFileChooser.APPROVE_OPTION) {
System.out.println(jfchooser.getSelectedFile().getPath());
String text=jfchooser.getSelectedFile().getPath();
jtext.setText(text);
filename=jfchooser.getSelectedFile().getName();
}
}else if(e.getSource().equals(upload)){
if(!jtext.getText().equals("")){
//开始上传所选择的的文件,获取文件名,文件存放位置
JFileChooser fileChooser = new JFileChooser("D:\\");
fileChooser.setDialogTitle("选择保存路径");
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fileChooser.showOpenDialog(fileChooser);
if(returnVal == JFileChooser.APPROVE_OPTION){
String filePath= fileChooser.getSelectedFile().getAbsolutePath();//这个就是你选择的文件夹的路径 }
System.out.println(filePath);
filesavepath=filePath;
try {
FileWriter fw = new FileWriter(new File(filesavepath+"/"+filename));
InputStream is = new FileInputStream(new File(jtext.getText()));
BufferedReader br = new BufferedReader(new InputStreamReader(is,"GBK"));
int ch = 0;
while((ch = br.read())!=-1 ){
//System.out.print((char)ch);
fw.write(ch);
}
fw.flush();
fw.close();
JOptionPane.showMessageDialog(null, "文件上传成功,请到"+filesavepath+"目录下查看!");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}else{
JOptionPane.showMessageDialog(null, "请先选择要上传的文件!");
}
}
}
public static void main(String[] args) {
FileUpload fileupload=new FileUpload();
}
}
分享到:
相关推荐
在java代码中实现文件的上传和下载,通过页面的file文件上传到java代码段,获取文件的大小和名字
### Java代码文件上传详解 在IT领域,尤其是Web开发中,文件上传是常见的需求之一,尤其是在用户需要提交图片、文档或其他类型文件时。Java作为Web开发的重要语言之一,提供了多种方式来实现文件上传功能。本文将...
在Java编程语言中,文件上传是一项常见的功能,无论是图片还是其他类型的文件,都可以通过Java实现。这个场景下,我们主要探讨的是如何使用Java编写代码来完成这个任务。首先,我们需要理解HTTP协议中的POST请求,...
处理上传的Java代码需要考虑到文件大小限制、错误处理、文件命名规则以及安全性等方面的问题。 例如,你可以使用`HttpServletRequest`的`Part`接口来获取上传的文件。以下是一个简单的Spring MVC控制器方法示例: ...
本篇文章将详细解析如何实现文件上传的Java代码,主要关注`Upload.java`这个类的实现。 首先,理解文件上传的基本原理至关重要。在HTTP协议中,文件上传通常依赖于多部分/形式数据(Multipart/form-data)的请求...
java代码上传文件时加水印: 内有jar包的说明文件 图片加水印:TestWaterPrint.java WORD文档加水印:AddWatermarkUtil.java PDF加水印:TestWaterPrint.java Excel加水印:ExcelWaterRemarkUtils.java
本文将深入探讨如何使用Java实现HTTP文件上传,同时基于提供的压缩包资源,我们将详细介绍相关代码和类库。 首先,了解HTTP文件上传的基本原理。在HTTP中,文件上传通常使用POST方法,通过表单数据或者Multipart/...
此时,后端的Java代码需要解析这个请求。可以使用`HttpServletRequest`的`getParts()`方法获取所有上传的文件,然后通过`Part`对象的`write()`方法将文件保存到服务器。 SWF框架在这里主要负责前端的交互和展示。...
纯java代码,演示上传文件,适合任何文件,主要是了解HTTP请求的信息,然后解析请求的字符串,此事例只考虑了现在的两种主要的浏览器的请求,因为浏览器不一样文件名会有差异,IE就只有文件名,而FF就是全路径名
总的来说,这个Java Swing 文件批量上传DEMO涵盖了Java GUI编程、文件I/O、网络编程、多线程以及用户交互等多个方面,对于初学者来说,是一个很好的实践项目,可以帮助他们深入理解Java Swing的应用及文件上传的实现...
这个“java文件上传代码upload”项目显然关注如何在Java环境下处理文件上传操作。下面将详细介绍Java中实现文件上传的相关知识点。 一、Servlet API与multipart/form-data 在Java Web开发中,文件上传通常通过...
下面,我们将详细探讨在Java SSH环境下实现文件上传的代码原理和步骤。 1. **Struts2上传文件**: Struts2提供了`CommonsFileUploadInterceptor`拦截器,用于处理文件上传请求。在Action类中,需要定义一个`File`...
Java 代码审计案例及修复 Java 代码审计是指对 Java 源代码进行安全审查和评估,以发现潜在的安全漏洞和风险。Java 代码审计案例及修复旨在提供一个 Java 代码审计的实践指南,涵盖了 Java 代码审计的基本概念、...
在Java开发中,处理大文件上传是一项常见的任务,特别是在Web应用中。为了提供更好的用户体验,通常需要添加进度条功能,让用户了解文件上传的状态。本文将详细介绍如何使用Java实现大文件的上传并展示进度条,同时...
通过解析提供的部分代码片段,我们可以了解到这段代码实现了一个简单的文件上传功能。下面将对这些知识点进行详细说明。 ### Java文件上传的基本原理 在Java Web开发中,文件上传是一个常见的需求。通常情况下,...
在实际开发中,你还需要考虑错误处理和异常捕获,确保在文件上传过程中遇到问题时能够妥善处理。此外,如果SharePoint的访问控制较为严格,可能需要使用ADAL(Active Directory Authentication Library)来获取访问...
在Java编程语言中,文件上传是一项常见的功能,广泛应用于各种Web应用中,如社交媒体平台、云存储服务等。实现基于Java的文件上传涉及到多个技术点,包括Servlet、HTTP协议、多部分请求(Multipart Request)以及...
java实现 上传文件代码
这段Java代码展示了如何实现文件上传的基本流程,包括文件大小检查、文件格式验证、唯一文件名生成以及文件保存等关键步骤。通过对这段代码的学习,开发者可以更好地理解并实现文件上传功能。此外,还可以进一步增强...
本项目"java 文件上传服务器,前后台代码"提供了一个完整的解决方案,涵盖了从客户端到服务器的数据传输过程。我们将深入探讨相关的知识点。 首先,我们需要了解Java中的MVC(Model-View-Controller)架构,这是Web...