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());
}
}
}
請幫助我,我的webapplicaton(tomcat6)中有單個文件(txt),但現在該文件被應用程序中的實例使用,但是可以使用另一個實例讀取同一文件嗎?。 ?這是在生產中運行。 – sunleo
@sunleo確定,所以你想在一個會話中讀取相同的文件..一旦它已經在使用..我認爲你仍然需要爲該創建線程..但再次,如果你想它會工作.. –
但這又取決於你正在從事的工作環境。就像EJB一樣,它不僅不鼓勵使用線程,而且它是被禁止的事實。所以在使用它的時候要小心。因爲它阻礙了已經產生的線程過程可能是! –