- 相關(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,這樣可能導致某些格式的文件無法打開,有些也可以正常打開。同//時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)文章:
2024年java多線程面試題及答案09-04
sun認證考試經(jīng)驗:多線程的幾種實現(xiàn)方法詳解06-06
sun認證考試輔導:java關(guān)于多線程的部分操作07-25
使用JavaScript實現(xiàn)Java的List功能08-09
實現(xiàn)xml文件解析三種方式10-30
PHP Curl多線程原理詳解09-16
Excel2010的多線程計算10-11
Java與Java web的區(qū)別08-22
Java與Java web有什么不同01-22