1、可加解密的视频播放器打开五次自动关闭package 播放器;import java.awt.Component;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import jav
2、a.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.OutputStr
3、eam;import javax.media.ControllerEvent;import javax.media.ControllerListener;import javax.media.EndOfMediaEvent;import javax.media.Manager;import javax.media.MediaLocator;import javax.media.NoPlayerException;import javax.media.Player;import javax.media.PrefetchCompleteEvent;import javax.media.Realiz
4、eCompleteEvent;import javax.media.Time;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.UIManager;public class MEDIAPlayer extends JFrame implements ControllerListe
5、ner, ItemListener Player player; File file; JLabel jl;/提示面板 JFileChooser jfc;/文件选择器 int result;/是否选择文件的结果 InputStream in; OutputStream on; OutputStream on2;/打开文件专用第二道流 Component visual; Component control = null; /设置窗口大小的参数 int videoWidth = 0; int videoHeight = 0; int controlHeight = 30; int insetWid
6、th = 15; int insetHeight = 40; MEDIAPlayer() setTitle(可加密的播放器); setLayout(null); /加菜单栏 MenuBar(); setDefaultCloseOperation(3); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) super.windowClosing(e); if(file!=null) File new_file = new File(file.getParent()+new.avi); if(
7、new_file.exists() /关闭播放器,否则无法删除被使用中的文件 if(player!=null) player.close(); /关闭可能占用文件的流 if(in!=null) try in.close(); catch (IOException e1) e1.printStackTrace(); if(on!=null) try on.close(); catch (IOException e1) e1.printStackTrace(); new_file.delete(); ); jl = new JLabel(); jl.setBounds(200, 120, 100,
8、 30); add(jl); setSize (500, 500); setLocation(500,150); setVisible (true); /菜单栏 public void MenuBar() JMenuBar JMB = new JMenuBar(); String arrayMenu = 文件 ,处理 ; String arrayItem = 打开,退出, 加密,解密; for(int i=0;iarrayMenu.length;i+) JMenu Menu = new JMenu(arrayMenui); for(int j=0;j0) count -=1; String a
9、=String.valueOf(count); FileWriter fw=new FileWriter(C:/Users/a/Desktop/count.txt); BufferedWriter bw=new BufferedWriter(fw); bw.write(a,0,a.length(); bw.flush(); bw.close(); else System.out.println(超过使用次数!); System.exit(0); catch (FileNotFoundException e3) e3.printStackTrace(); catch (IOException e
10、1) e1.printStackTrace(); if(file!=null) jl.setText(正在解密); /临时解密 File file1 = new File(jfc.getCurrentDirectory()+new.avi); File file2 = new File(jfc.getCurrentDirectory()+new2.avi); try in = new FileInputStream(file); on = new FileOutputStream(file1,true); on2 = new FileOutputStream(file2,true); int
11、tempbyte; int i=0; while (tempbyte = in.read() != -1) if(i = 0) if(tempbyte = 5) jl.setText(无法打开); on.close(); on2.close(); file1.delete(); file2.delete(); return; on2.write(tempbyte); i+; continue; else if(i 3) on.write(tempbyte); on2.write(tempbyte); i+; continue; else on.write(tempbyte); on2.writ
12、e(tempbyte); i+; continue; in.close(); on.close(); on2.close(); file.delete(); file2.renameTo(file); MEDIAPlayer.this.remove(jl); catch (IOException ee) ee.printStackTrace(); return; /播放视频 try player = Manager.createPlayer (new MediaLocator (file: + file1.getPath(); catch (NoPlayerException e1) e1.p
13、rintStackTrace(); catch (IOException e1) e1.printStackTrace(); player.addControllerListener(MEDIAPlayer.this); player.realize(); else if(e.getActionCommand ().equals (加密) jfc = new JFileChooser(); jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES ); result = jfc.showDialog(new JLabel(), 选择
14、); if(JFileChooser.APPROVE_OPTION=result) file = jfc.getSelectedFile(); else file = null; if(file!=null) jl.setText(正在加密); File new_file = new File(jfc.getCurrentDirectory()+new.avi); try in = new FileInputStream(file); on = new FileOutputStream(new_file,true); int tempbyte; int i=0; on.write(0); wh
15、ile (tempbyte = in.read() != -1) if(i 2) on.write(tempbyte); i+; continue; else on.write(tempbyte); i+; continue; in.close(); on.close(); file.delete(); new_file.renameTo(file); jl.setText(加密完成); catch (IOException ee) ee.printStackTrace(); return; else if(e.getActionCommand ().equals (解密) jfc = new
16、 JFileChooser(); jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES ); result = jfc.showDialog(new JLabel(), 选择); if(JFileChooser.APPROVE_OPTION=result) file = jfc.getSelectedFile(); else file = null; if(file!=null) jl.setText(正在解密); File new_file = new File(jfc.getCurrentDirectory()+new.av
17、i); try in = new FileInputStream(file); on = new FileOutputStream(new_file,true); int tempbyte; int i=0; while (tempbyte = in.read() != -1) if(i = 0) i+; continue; else if(i 3) on.write(tempbyte); i+; continue; else on.write(tempbyte); i+; continue; in.close(); on.close(); file.delete(); new_file.re
18、nameTo(file); jl.setText(解密完成); catch (IOException ee) ee.printStackTrace(); return; ).start(); public static void main(String args) throws Exception File file = new File(C:UsersaDesktop,count.txt); if(!file.exists() file.createNewFile(); String s = 5; FileWriter fw=new FileWriter(C:/Users/a/Desktop/count.txt); BufferedWriter bw=new BufferedWriter(fw); bw.write(s,0,s.length(); bw.flush(); bw.close(); tr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1