⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileuploaddialog.java

📁 实现cisco snmp tftp,能用snmp tftp上传下载文件
💻 JAVA
字号:
//FileDownLoad.java
//http://172.16.1.5:9090/nms/servlet/InsertConfigServlet?RemoteHost=10.1.1.1&FileName=10.1.1.1_startupConfig_20050426161139&FileType=startupConfig
import java.util.* ;
import java.lang.* ;
import javax.swing.* ;
import javax.swing.tree.* ;
import javax.swing.event.* ;
import java.awt.* ;
import java.awt.event.* ;
import java.awt.datatransfer.*;
import java.awt.dnd.*;
import java.awt.dnd.peer.*;
import java.io.* ;
import java.net.* ;
import javax.swing.plaf.metal.*;
import javax.swing.JTabbedPane.*;
import javax.swing.table.*;
import java.text.*;
//import javax.swing.DefaultListSelectionModel.*;
import com.transfar.silverdolphin.SilverDolphinLookAndFeel ;

public class FileUploadDialog extends BaseDialog
{
	private javax.swing.JPanel jContentPane = null;
	private JPanel jPanel = null;
	
	private JPanel 		jPanel1 ;
	private JPanel 		jPanel2 ;
	private JPanel 		jPanel3 ;
	private JLabel jLabel_DeviceIP;
	private JLabel jLabel_WriteComm;
	private JLabel jLabel_FileType;
	private JLabel jLabel_Note;
	private JLabel jLabel_FileName;
	private JTextField jTextField_DeviceIP;
	private JTextField jTextField_WriteComm;
	private JTextField jTextField_FileName;
	private JComboBox jComboBox_FileType;
	private JTextField jTextField_Note;	
	private JButton jBt_Quit;
	private JButton jBt_OpenFile;	
	private JButton jBt_Download;
	
	private URL baseURL=null;
	private String strAppBase;
	private String strCodeBase = "" ;
	private String snmpTftpURL;
	private String insertConfigURL;
	private String dir=null;
	private String userId = null;
	
	//public static FileDownload selfRef = null;
	
	/*
	public void init()
	{
		
		selfRef = this ;
		try 
		{
	        	UIManager.setLookAndFeel(new SilverDolphinLookAndFeel()) ;
	        	//UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
		} 
		catch(Exception e) 
		{
			e.printStackTrace(System.err);
		}		
		FileDownLoad();	
		
	}
	*/
	public FileUploadDialog()
	{
		DocContainer theApplet = DocContainer.selfRef ;
		if( theApplet != null ) 
			strCodeBase = theApplet.getCodeBase().toString();
		//baseURL=getCodeBase();
		strAppBase = strCodeBase.substring( 0, strCodeBase.lastIndexOf("/hnblnms") );	
		//strAppBase = (baseURL.toString()).substring( 0, (baseURL.toString()).lastIndexOf("/hnblnms") );		
		snmpTftpURL = strAppBase+"/servlet/SnmpTftpServlet" ;
		insertConfigURL	= strAppBase+"/servlet/InsertConfigServlet" ;			
		setSize(420,320);
		setTitle("文件上传");
		setLocationRelativeTo(null);		
		setContentPane(getJContentPane());	
	}
	
	public FileUploadDialog(URL theURL){
		try {
	        	UIManager.setLookAndFeel(new SilverDolphinLookAndFeel()) ;
		} 
		catch(Exception e){
			e.printStackTrace(System.err);
		}
		baseURL=theURL;
		strAppBase = (baseURL.toString()).substring( 0, (baseURL.toString()).lastIndexOf("/hnblnms") );		
		snmpTftpURL = strAppBase+"/servlet/SnmpTftpServlet" ;
		insertConfigURL	= strAppBase+"/servlet/InsertConfigServlet" ;	
		
		setSize(420,320);
		setTitle("文件上传");
		setLocationRelativeTo(null);		
		setContentPane(getJContentPane());	
	}
	
	public FileUploadDialog(URL theURL,String userID){
		try {
	        	UIManager.setLookAndFeel(new SilverDolphinLookAndFeel()) ;
		} 
		catch(Exception e){
			e.printStackTrace(System.err);
		}
		baseURL=theURL;
		strAppBase = (baseURL.toString()).substring( 0, (baseURL.toString()).lastIndexOf("/hnblnms") );		
		snmpTftpURL = strAppBase+"/servlet/SnmpTftpServlet" ;
		insertConfigURL	= strAppBase+"/servlet/InsertConfigServlet" ;	
		
		setSize(420,320);
		setTitle("文件上传");
		setLocationRelativeTo(null);		
		setContentPane(getJContentPane());
		userId=userID;	
	}
	
	private javax.swing.JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new javax.swing.JPanel();
			jContentPane.setLayout(null);
			jContentPane.setPreferredSize(new java.awt.Dimension(420, 320));
			jContentPane.add(getJPanel(), null);
			jContentPane.add(getJPanel1(), null);
		}
		return jContentPane;
	}
	
	private JPanel getJPanel() {
		if (jPanel == null) {
			jLabel_Note = new JLabel();
			jLabel_FileType = new JLabel();
			jLabel_FileName = new JLabel();
			jLabel_WriteComm = new JLabel();
			jLabel_DeviceIP = new JLabel();
			GridLayout gridLayout5 = new GridLayout();
			gridLayout5.setHgap(30);
			gridLayout5.setVgap(10);
			jPanel = new JPanel();
			jPanel.setLayout(gridLayout5);
			jLabel_DeviceIP.setText("设备IP");
			jPanel.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
			gridLayout5.setRows(5);
			gridLayout5.setColumns(1);
			jLabel_WriteComm.setText("WriteCommunity");
			jLabel_FileName.setText("文件名");
			jLabel_FileType.setText("文件类型");
			jLabel_Note.setText("备注");
			jPanel.setBounds(0, 0, 400, 193);
			jPanel.add(jLabel_FileType, null);
			jPanel.add(getJComboBox_FileType(), null);
				
			jPanel.add(jLabel_DeviceIP, null);
			jPanel.add(getJTextField_DeviceIP(), null);			
			jPanel.add(jLabel_WriteComm, null);
			jPanel.add(getJTextField_WriteComm(), null);			
			jPanel.add(jLabel_FileName, null);
			jPanel.add(getJTextField_FileName(), null);
			jPanel.add(jLabel_Note, null);
			jPanel.add(getJTextField_Note(), null);	
		}
		return jPanel;
	}
	
	
	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField
	 * 
	 * @uml.property name="jTextField"
	 */
	private JTextField getJTextField_DeviceIP() {
		if (jTextField_DeviceIP == null) {
			jTextField_DeviceIP = new JTextField();
			jTextField_DeviceIP.setText("10.1.1.1");
		}
		return jTextField_DeviceIP;
	}

	/**
	 * This method initializes jTextField1	
	 * 	
	 * @return javax.swing.JTextField
	 * 
	 * @uml.property name="jTextField1"
	 */
	private JTextField getJTextField_WriteComm() {
		if (jTextField_WriteComm == null) {
			jTextField_WriteComm = new JTextField();
			jTextField_WriteComm.setText("private");
			jTextField_WriteComm.setPreferredSize(new java.awt.Dimension(97, 22));
		}
		return jTextField_WriteComm;
	}

	/**
	 * This method initializes jTextField_FileName	
	 * 	
	 * @return javax.swing.jTextField_FileName
	 * 
	 * @uml.property name="jTextField_FileName"
	 */
	private JTextField getJTextField_FileName() {
		if (jTextField_FileName == null) {
			jTextField_FileName = new JTextField();
			jTextField_FileName.setEditable(false);
			jTextField_FileName.setBackground(Color.white);
		}
		return jTextField_FileName;
	}

	/**
	 * This method initializes jComboBox_FileType	
	 * 	
	 * @return javax.swing.jComboBox_FileType
	 * 
	 * @uml.property name="jComboBox_FileType"
	 */
	private JComboBox getJComboBox_FileType() {
		if (jComboBox_FileType == null) {
			jComboBox_FileType = new JComboBox();
			jComboBox_FileType.setMaximumRowCount(3);
			jComboBox_FileType.addItem("startupConfig");
			jComboBox_FileType.addItem("runningConfig");
			jComboBox_FileType.addItem("iosFile");
			jComboBox_FileType.setSelectedIndex(0);
			/*
			jComboBox_FileType.addItemListener(new java.awt.event.ItemListener() {
				public void itemStateChanged(java.awt.event.ItemEvent e) {
					if (jComboBox_FileType.getSelectedIndex() == 2)
						jTextField_FileName.setEditable(true);
					else
						jTextField_FileName.setEditable(false);
					System.out.println("itemStateChanged()"); // TODO Auto-generated Event stub itemStateChanged()
				}
			});
			*/

		}
		return jComboBox_FileType;
	}

	/**
	 * This method initializes jTextField_Note	
	 * 	
	 * @return javax.swing.jTextField_Note	
	 */    
	private JTextField getJTextField_Note() {
		if (jTextField_Note == null) {
			jTextField_Note = new JTextField();
		}
		return jTextField_Note;
	}
	
	
	/**
	 * This method initializes jPanel1	
	 * 	
	 * @return javax.swing.JPanel	
	 */    
	private JPanel getJPanel1() {
		if (jPanel1 == null) {
			jPanel1 = new JPanel();
			GridLayout gridLayout1 = new GridLayout();
			gridLayout1.setHgap(30);
			gridLayout1.setVgap(30);
			jPanel1.setLayout(gridLayout1);
			jPanel1.setBounds(2, 246, 395, 40);
			gridLayout1.setRows(1);
			jPanel1.add(getJBt_Download(), null);
			jPanel1.add(getJBt_Quit(), null);
			jPanel1.add(getJBt_OpenFile(), null);
			
		}
		return jPanel1;
	}
	
	public static String getTempFileName() {
        DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
        return df.format(new Date());
    }
  
	/**
	 * This method initializes jBt_Download	
	 * 	
	 * @return javax.swing.jBt_Download	
	 */    
	private JButton getJBt_Download() {
		if (jBt_Download == null) {
			jBt_Download = new JButton();
			jBt_Download.setText("开始上传");
			jBt_Download.addActionListener(new java.awt.event.ActionListener() { 
				public void actionPerformed(java.awt.event.ActionEvent e) { 
					 // TODO Auto-generated Event stub actionPerformed() 
					String ip=jTextField_DeviceIP.getText();
					String up="F";
					String community=jTextField_WriteComm.getText();
					String fileType=jComboBox_FileType.getSelectedItem().toString();
					String strTime = getTempFileName();
					String fileName=jTextField_FileName.getText();
					File myFile=null;
					
					try{
						myFile=new File(dir,fileName);
					}catch(Exception exc1){
						System.out.println("error file");
					}
					//如果是本地文件上传,必须先入数据库					
					SybaseSQL mysql = new SybaseSQL();
					String sqlStr="insert ConfigFile (FileName,FileContent,FileType,IPAddress,CurTime,FileDesc) values ('" + fileName + "', ?, '" + fileType + "', '" + ip + "', getdate(),'Upload')" ;
					System.out.println(sqlStr);
					boolean succ=mysql.doBigFiledOpera(sqlStr,myFile,"BIGSQL_ACTION");
					if (succ!=true){
						System.out.println("error insert");
					}
					
					
					if(!fileType.equals("iosFile"))
						fileName =ip+"_"+fileType+"_"+strTime ;	
						else fileName=ip+"_"+jTextField_FileName.getText()+"_"+strTime;		
					
					//以下调用servlet上传,servlet调用,将写入数据库的文件上传到设备,以文件的名称为关键字
					
					URLConnection ucon = null ;
					String parameters = "?RemoteAddr=" + ip + "&Community=" + community + "&FileType=" 
										+ fileType+"&UpOrDown="+up+"&FileName="+fileName;
					try {			
						URL theURL = new URL(snmpTftpURL + parameters ) ;									
						ucon = theURL.openConnection() ;				
						ucon.setUseCaches( false ) ;
						ucon.setDoInput( true ) ;
						ucon.setDoOutput( false ) ;
						ucon.connect() ;
					} catch ( Exception ex ) {
						System.out.println("SnmpTftpServlet call failed" + ex.getMessage());
						return;
					}
					System.out.println(snmpTftpURL + parameters);
					int result=ucon.getHeaderFieldInt("Result",0);
					
					if (result==1){
						ResWriteLog log = new ResWriteLog();
	        			log.writeLog(userId,ip,"配置文件上传"+ip,"配置管理","1","");
	        		}else if(result==0){
						jTextField_FileName.setText(ucon.getHeaderField("FailureCause"));
						ResWriteLog log = new ResWriteLog();
	        			log.writeLog(userId,ip,"配置文件上传"+ip,"配置管理","0","");
					}
					
				}
			});
		}
		return jBt_Download;
	}
	
	/**
	 * This method initializes jBt_Quit	
	 * 	
	 * @return javax.swing.jBt_Quit	
	 */    
	private JButton getJBt_Quit() {
		if (jBt_Quit == null) {
			jBt_Quit = new JButton();
			jBt_Quit.setText("退出");
			jBt_Quit.addActionListener(new java.awt.event.ActionListener() { 
				public void actionPerformed(java.awt.event.ActionEvent e) {    
					setVisible(false); // TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return jBt_Quit;
	}
	
	
	/**
	 * This method initializes jBt_OpenFile	
	 * 	
	 * @return javax.swing.jBt_OpenFile	
	 */    
	
	private JButton getJBt_OpenFile() {
		if (jBt_OpenFile == null) {
			jBt_OpenFile = new JButton();
			jBt_OpenFile.setText("选择上传文件");
			jBt_OpenFile.addActionListener(new java.awt.event.ActionListener() { 
				public void actionPerformed(java.awt.event.ActionEvent e) {  
						JFileChooser chooser = new JFileChooser();  
					   	int returnVal = chooser.showOpenDialog(jBt_OpenFile);
					    if(returnVal == JFileChooser.APPROVE_OPTION) {
					    	dir=chooser.getCurrentDirectory().toString()+"\\";
					        jTextField_FileName.setText(chooser.getSelectedFile().getName());
					    }
				}
			});
		}
		return jBt_OpenFile;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -