- 相關(guān)推薦
Java多線程的實現(xiàn)方式
在一個程序中,這些獨立運行的程序片斷叫作“線程”(Thread),利用它編程的概念就叫作“多線程處理”。下面小編準備了關(guān)于Java多線程的實現(xiàn)方式,提供給大家參考!
Java多線程的實現(xiàn)方式
1. 繼承Thread類,實現(xiàn)run方法
2. 實現(xiàn) Runnable接口,將該類綁定到新建的Thread對象上
class example Runnable
{
public void run()
{}
}
Invoke:
public static void main(String[] args)
{
Thread th = new Thread(new example());
th.start();
}
Java實現(xiàn)文件下載并解決中文文件名亂碼
String filepath = "c:/";//需要下載的文件路徑
String filename = "文檔.doc";//需要下載的文件名字
//解決中文文件名亂碼問題
if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0)
filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");//firefox瀏覽器
else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0)
filename = URLEncoder.encode(filename, "UTF-8");//IE瀏覽器
response.reset();//如果有換行,對于文本文件沒有什么問題,但是對于其它格
//式,比如AutoCAD、Word、Excel等文件下載下來的文件中就會多出一些換行符//0x0d和0x0a,這樣可能導(dǎo)致某些格式的文件無法打開,有些也可以正常打開。同//時response.reset()這種方式也能清空緩沖區(qū), 防止頁面中的空行等輸出到下載內(nèi)容里去
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
response.setHeader("Connection", "close");
ServletOutputStream sos = response.getOutputStream();
FileInputStream fis = null;
File d = new File(filepath);
if (d.exists())
{
fis = new FileInputStream(filepath);//
byte b[] = new byte[1000];
int j;
while ((j = fis.read(b)) != -1)
{
try
{
sos.write(b, 0, j);
}
catch (IOException exp)
{
}
}
fis.close();
sos.flush();
sos.close();
}
【Java多線程的實現(xiàn)方式】相關(guān)文章:
2016年java多線程面試題及答案03-31
sun認證考試經(jīng)驗:多線程的幾種實現(xiàn)方法詳解01-22
Java語言的特點和實現(xiàn)機制02-27
java實現(xiàn)web服務(wù)器的方法03-30
JAVA基礎(chǔ)知識:簡單介紹form的提交方式03-08
AndroidApp中使用SurfaceView制作多線程動畫的實例講解10-06
東方式插花與西方式插花10-12
學(xué)習(xí)java技巧10-31
java習(xí)題及答案03-26