我有一個Java程序來讀取輸入文件(input.txt)並打印該文件的內容(之後,我需要做一些更多的工作,即SSH到一臺機器和檢查狀態,發送電子郵件等)。由於input.txt文件具有更多行,因此需要大約3小時才能完成該程序。如何產生一個Java程序,以減少運行時間
因此,喜歡在Java(如線程)或其他一些技術中使用spawn概念來讀取輸入文件並在同一時間執行其他工作(ssh,checkstatus,發送郵件)的過程中,以使程序willl幾乎不用十分鐘就能完成這個項目。
我是Java的新手。你能指導我如何把這個邏輯。我在這裏粘貼了我現在使用的代碼。 input.txt的文件的
實施例:
##ABC
bigboy 72.24.1 72.24.157.57
#
bejack 2.24.157.97 1.24.157.69 希歐波尼2.24.147.96 9.24.159.86 諷刺7.24.145.93 8.24.209.55#xyz
alches 2.24.140.199 1.24.140.46
Java程序:
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.util.Calendar;
import java.net.*;
import java.net.UnknownHostException;
public class panic_email{
public static void main(String[] args) throws IOException{
try{
System.out.println ("Starting of program...");
FileInputStream fstream = new FileInputStream("input.txt");
DataInputStream input = new DataInputStream(fstream);
BufferedReader bfr = new BufferedReader(new InputStreamReader(input));
String Name = "";
String IP = "";
CSLOOP: while ((FileLine = bfr.readLine()) != null) {
FileLine = FileLine.trim();
if (FileLine.startsWith("XYZ")){
System.out.println ("End of program");
break;
}
if (!FileLine.startsWith("#") && !FileLine.startsWith(" ")){
String splitLine[] = null;
splitLine = FileLine.split("\\s+");
if(splitLine.length >= 3){
Name = splitLine[0];
Ip = splitLine[2];
System.out.println("Name:" + Name + "IP" + Ip);
//Here after this I am doing some kind of extra work like ssh,checkstate,send email. So while coming to this point I need to spawn the process i think.
}
}
}
}
請您指導我如何做到這一點
感謝, 裏克斯
請問我可以讓我知道如何通過名稱,IP到run()方法的基礎上的示例/教程鏈接? – Ricks 2010-09-10 17:41:42
已經有一段時間了,因爲我使用runnable接口,但是我會說用getter和setter在類中添加一些私有變量,並在run方法中使用這些變量。 – 2010-09-10 18:15:40