2012-10-18 70 views
0

我有一個文件sub.srt,並且正在讀取使用多個實例同時執行的文件。它工作正常。這可能與Servlet和JSP在Web應用程序中一樣工作嗎?如何在java和Java EE中使用多個實例讀取單個文件

這是主要的文件

public class SingleTest 
{ 
public static void main(String args[]) throws Exception 
{ 
    String s[]= new String[10]; 

    for(int i = 1;i<=10;i++) 

     { 
     SingleFileThread sft1 = new SingleFileThread(i); 
     sft1.start(); 
     } 
} 

} 

這是創建多個實例來讀取一個文件

public class SingleFileThread extends Thread 
{ 
public int t =0; 
public SingleFileThread(int i) 
{ 
    t = i; 
} 
    public void run() 
    { 
    try{ 
     File f = new File("E:\\Leo-Softwares\\workspace\\SingleFileThread  \\src\\test\\sub.srt"); 
     System.out.println("f.setReadOnly() :"+f.setReadOnly()); 
     FileInputStream fstream = new FileInputStream(f); 
     DataInputStream in = new DataInputStream(fstream); 
     BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
     String strLine; 
     while ((strLine = br.readLine()) != null) { 
      System.out.println ("Thread :"+t+"_____"+strLine); 
     Thread.sleep(2000); 
     } 

     in.close(); 
     }catch (Exception e){ 
     System.err.println("Error: " + e.getMessage()); 
     } 
    } 
    } 

回答

0

我沒有得到你的主題? Ÿu需要實現線程JSP ..What你到底想do..Because Tomcat容器本身維護線程的關心JSP ..ü想什麼是可以約爲會話跟蹤我猜..抱歉,沒有,沒有妥善解決你的問題......?

+0

請幫助我,我的webapplicaton(tomcat6)中有單個文件(txt),但現在該文件被應用程序中的實例使用,但是可以使用另一個實例讀取同一文件嗎?。 ?這是在生產中運行。 – sunleo

+0

@sunleo確定,所以你想在一個會話中讀取相同的文件..一旦它已經在使用..我認爲你仍然需要爲該創建線程..但再次,如果你想它會工作.. –

+0

但這又取決於你正在從事的工作環境。就像EJB一樣,它不僅不鼓勵使用線程,而且它是被禁止的事實。所以在使用它的時候要小心。因爲它阻礙了已經產生的線程過程可能是! –