java代码实现,上传下载MP3 以及MP4 是怎么是现实的呢? Java文件下载怎么实现的
\u7528java\u5b9e\u73b0\u6587\u4ef6\u7684\u4e0a\u4f20\u4e0e\u4e0b\u8f7d1.\u4e0b\u8f7d\u7b80\u5355\uff0c\u65e0\u975e\u662f\u628a\u670d\u52a1\u5668\u4e0a\u7684\u6587\u4ef6\u6216\u8005\u6570\u636e\u5e93\u4e2d\u7684BLob(\u6216\u5176\u4ed6\u4e8c\u8fdb\u5236\u578b)\uff0c\u7528\u6d41\u8bfb\u51fa\u6765\uff0c\u7136\u540e\u5199\u5230\u5ba2\u6237\u7aef\u5373\u53ef\uff0c\u8981\u6ce8\u610f ContentType\u3002
2.\u4e0a\u4f20\uff0c\u53ef\u4ee5\u7528Apache Commons Upload\u7b49\u5f00\u6e90\u5de5\u5177\uff0c\u6216\u8005\u81ea\u5df1\u5199\uff1a
form\u8981\u7528enctype="multipart/form-data"
\u7136\u540e\u670d\u52a1\u5668\u7aef\u4e5f\u662f\u7528IO\u628a\u5ba2\u6237\u7aef\u63d0\u4ea4\u7684\u6587\u4ef6\u6d41\u8bfb\u5165\uff0c\u7136\u540e\u5199\u5230\u670d\u52a1\u5668\u7684\u6587\u4ef6\u7cfb\u7edf\u6216\u8005\u6570\u636e\u5e93\u91cc\u3002\u4e0d\u540c\u7684\u6570\u636e\u5e93\u5bf9Lob\u5b57\u6bb5\u64cd\u4f5c\u53ef\u80fd\u6709\u6240\u4e0d\u540c\uff0c\u5efa\u8bae\u7528Hibernate,JPA\u7b49\u6210\u719f\u7684ORM\u6846\u67b6\uff0c\u53ef\u4ee5\u4e0d\u8003\u8651\u6570\u636e\u5e93\u7ec6\u8282\u3002
\u4e0b\u8f7d\u5c31\u5f88\u7b80\u5355\u4e86
\u628a\u4f60\u8981\u4e0b\u8f7d\u7684\u6587\u4ef6\u505a\u6210\u8d85\u7ea7\u94fe\u63a5\uff0c\u53ef\u4ee5\u4e0d\u7528\u4efb\u4f55\u7ec4\u4ef6
\u6bd4\u5982\u8bf4
\u4e0b\u8f7d\u4e00\u4e2aword\u6587\u6863
\u540d\u79f0.doc
\u8def\u5f84\u4f60\u81ea\u5df1\u5199
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.ProtocolException;
import java.net.URI;
import java.net.URL;
import java.util.Random;
/**
*
* \u5b9e\u73b0\u4e86\u4e0b\u8f7d\u7684\u529f\u80fd*/
public class SimpleTh {
public static void main(String[] args){
// TODO Auto-generated method stub
//String path = "http://www.7cd.cn/QingTengPics/\u5029\u5973\u5e7d\u9b42.mp3";//MP3\u4e0b\u8f7d\u7684\u5730\u5740
String path ="http://img.99luna.com/music/%CF%EB%C4%E3%BE%CD%D0%B4%D0%C5.mp3";
try {
new SimpleTh().download(path, 3); //\u5bf9\u8c61\u8c03\u7528\u4e0b\u8f7d\u7684\u65b9\u6cd5
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static String getFilename(String path){//\u83b7\u5f97\u6587\u4ef6\u7684\u540d\u5b57
return path.substring(path.lastIndexOf('/')+1);
}
public void download(String path,int threadsize) throws Exception//\u4e0b\u8f7d\u7684\u65b9\u6cd5
{//\u53c2\u6570 \u4e0b\u8f7d\u5730\u5740\uff0c\u7ebf\u7a0b\u6570\u91cf
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();//\u83b7\u53d6HttpURLConnection\u5bf9\u8c61
conn.setRequestMethod("GET");//\u8bbe\u7f6e\u8bf7\u6c42\u683c\u5f0f\uff0c\u8fd9\u91cc\u662fGET\u683c\u5f0f
conn.setReadTimeout(5*1000);//
int filelength = conn.getContentLength();//\u83b7\u53d6\u8981\u4e0b\u8f7d\u6587\u4ef6\u7684\u957f\u5ea6
String filename = getFilename(path);
File saveFile = new File(filename);
RandomAccessFile accessFile = new RandomAccessFile(saveFile, "rwd");
accessFile.setLength(filelength);
accessFile.close();
int block = filelength%threadsize ==0?filelength/threadsize:filelength/threadsize+1;
for(int threadid = 0;threadid<=threadsize;threadid++){
new DownloadThread(url,saveFile,block,threadid).start();
}
}
private final class DownloadThread extends Thread{
private URL url;
private File saveFile;
private int block;//\u6bcf\u6761\u7ebf\u7a0b\u4e0b\u8f7d\u7684\u957f\u5ea6
private int threadid;//\u7ebf\u7a0bid
public DownloadThread(URL url,File saveFile,int block,int threadid){
this.url = url;
this.saveFile= saveFile;
this.block = block;
this.threadid = threadid;
}
@Override
public void run() {
//\u8ba1\u7b97\u5f00\u59cb\u4f4d\u7f6e\u7684\u516c\u5f0f\uff1a\u7ebf\u7a0bid*\u6bcf\u6761\u7ebf\u7a0b\u4e0b\u8f7d\u7684\u6570\u636e\u957f\u5ea6=\uff1f
//\u8ba1\u7b97\u7ed3\u675f\u4f4d\u7f6e\u7684\u516c\u5f0f\uff1a\uff08\u7ebf\u7a0bid+1\uff09*\u6bcf\u6761\u7ebf\u7a0b\u4e0b\u8f7d\u6570\u636e\u957f\u5ea6-1=\uff1f
int startposition = threadid*block;
int endposition = (threadid+1)*block-1;
try {
try {
RandomAccessFile accessFile = new RandomAccessFile(saveFile, "rwd");
accessFile.seek(startposition);//\u8bbe\u7f6e\u4ece\u4ec0\u4e48\u4f4d\u7f6e\u5199\u5165\u6570\u636e
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setReadTimeout(5*1000);
conn.setRequestProperty("Range","bytes= "+startposition+"-"+endposition);
InputStream inStream = conn.getInputStream();
byte[]buffer = new byte[1024];
int len = 0;
while((len = inStream.read(buffer))!=-1){
accessFile.write(buffer, 0, len);
}
inStream.close();
accessFile.close();
System.out.println("\u7ebf\u7a0bid\uff1a"+threadid+"\u4e0b\u8f7d\u5b8c\u6210");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
将文件读成二进制流传送到服务器
IO流,file对象
绛旓細/** * 灏嗘枃浠涓婁紶鍒版湇鍔$锛屽苟鎺ユ敹鍏惰繑鍥炰俊鎭 * @param clientDefaultHttpClient * @param url鏈嶅姟鍣╱rl锛氬锛歨ttp://localhost:8080/test/upload.action * @param filePath鏂囦欢璺緞 * @param params涓婁紶鍙傛暟 * @param encode缂栫爜闆嗭紝涓昏鐢ㄦ潵瑙f瀽杩斿洖鐨剅esponse涓殑淇℃伅 * @re...
绛旓細MyBatis 鐨勪富瑕佹濇兂鏄皢绋嬪簭涓殑澶ч噺 SQL 璇彞鍓ョ鍑烘潵锛屼娇鐢 XML 鏂囦欢鎴栨敞瑙g殑鏂瑰紡瀹炵幇 SQL 鐨勭伒娲婚厤缃紝灏 SQL 璇彞涓庣▼搴浠g爜鍒嗙锛屽湪涓嶄慨鏀圭▼搴忎唬鐮佺殑鎯呭喌涓嬶紝鐩存帴鍦ㄩ厤缃枃浠朵腑淇敼 SQL 璇彞銆侻yBatis 涓庡叾瀹冩寔涔呮ф鏋舵渶澶х殑涓嶅悓鏄紝MyBatis 寮鸿皟浣跨敤 SQL锛岃屽叾瀹冩鏋讹紙渚嬪 Hibernate锛夐氬父浣跨敤鑷...
绛旓細javaimport java.util.*;import javax.mail.*;import javax.mail.internet.*;import java.util.Date;import javax.activation.*;public class Mail { private MimeMessage mimeMsg; // MIME閭欢瀵硅薄 private Session session; // 閭欢浼氳瘽瀵硅薄 private Properties props; // 绯荤粺灞炴 // ...
绛旓細jsp鏂囦欢涓婁紶澶у閲囩敤閲囩敤寮婧愰」鐩潵绠鍖栧鐞,杩欓噷鍒楀嚭甯哥敤鐨勪袱涓猨ar鍖呯殑瀹炵幇,骞惰繘琛屾瘮杈,璇存槑浠栦滑鐨勪紭缂虹偣鍜屽簲璇ユ敞鎰忕殑闂銆 Commons FileUpload,鍙互鍦╤ttp://jakarta.apache.org/commons/fileupload/涓嬭浇,杩欎釜鍖呴渶瑕丆ommons IO鐨勬敮鎸,鍙互鍦╤ttp://jakarta.apache.org/commons/io/涓嬭浇 com.oreilly.servlet,鍙互鍦╤t...
绛旓細1)涓夋槦SGH-E908-JAVA瀹夎鏂规硶绗竴姝ヤ粠缃戜笂涓嬭浇MP鎵嬫満娴忚鍣ㄧ殑jar,jad瀹夎鏂囦欢銆傜浜屾鍚戞墜鏈轰紶閫佹父鎴廽ar,jad瀹夎鏂囦欢銆傚鐢ㄦ暟鎹嚎灏嗘墜鏈轰笌鐢佃剳杩炴帴,鍦ㄧ數鑴戠殑璧勬簮绠$悊鍣ㄤ腑鍑虹幇TF鍗$殑鐩樼,鎶婄數鑴戦噷鐨刯ar,jad鏂囦欢澶嶅埗鍒癟F鍗′腑銆傜涓夋瀹夎MP鎵嬫満娴忚鍣ㄣ傛柇寮鎵嬫満涓庣數鑴戠殑杩炴帴,浠庢墜鏈衡滄垜鐨勬敹钘忊濇壘鍒板苟鐐瑰嚮.jar鏂囦欢...
绛旓細import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.media.*;import javax.media.util.*;import javax.media.format.*;import javax.media.control.*;import javax.media.protocol.*;import javax.media.bean.playerbean.*;import javax.media.rtp.*;...
绛旓細package cn.edu.dlmu.send;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import ...
绛旓細鐩存帴涓嬩釜JMF锛実oogle鎼滐紝sun瀹樼綉涓婃湁~~鐒跺悗瀹夎鐩綍鏄綘鐨凧DK锛屽啀鎾斁MP3鏂囦欢灏憋細import javax.media.*;import java.net.MalformedURLException;import java.net.URL;Player player;File playFile=new File("");//浣犵殑MP3鏂囦欢 try { player=Manager.createRealizedPlayer(playFile.toURL());player....
绛旓細public class Test1 {public static void main(String[] arg) {Test1 localTest1 = new Test1();// 鍙岃壊鐞 :绾㈣壊鐞冨彿鐮 + 钃濊壊鐞冨彿鐮// 鍏釜绾㈣壊鐞冨拰涓涓摑鑹茬悆鍙风爜// 绾㈣壊鐞冨彿鐮佷粠1~33涓夋嫨// 钃濊壊鐞冨彿鐮佷粠1~16涓夋嫨// 涓绛夊锛氫竷涓彿鐮佺浉绗︼紙鍏釜绾㈣壊鍙风爜鍜屼竴涓摑鑹茬悆鍙风爜锛(绾㈣壊鐞...
绛旓細System.out.println("鎴瀹炵幇浜嗗彲绉诲姩鎬");} }public class PhoneTest{ public static void main(String a[]){ Phone[] p=new Phone[5];Phone p1=new Phone();p1.setPhonenumber("123456789");p[0]=p1;Phone p2=new Phone();p2.setPhonenumber("987654321");p[1]=p2;Mobilephone mp=...