2014-01-13 37 views
0

我正在使用java ant來部署我的應用程序。我有一個文件app.php。我想在app.php中編寫一些文本,同時在該文件的特定位置進行部署。這是我的app.php:如何在使用螞蟻的文件內的特定位置寫入

'providers' => array(

       'Illuminate\Validation\ValidationServiceProvider', 
       'Illuminate\View\ViewServiceProvider', 
       'Illuminate\Workbench\WorkbenchServiceProvider', 
     ), 

我想在這行的末尾添加一行:

'Illuminate\Workbench\WorkbenchServiceProvider', 

請告訴我如何做到這一點。 謝謝。

+0

你不必有張貼整個文件。好吧,無論如何,你可以嘗試通過一些'Stream'或'Reader'類讀取文件。接下來,您可以將它們存儲在一個數組或'_list'中,並將_each line_作爲一個元素。現在我想你可以找到所需的'String'並在那之後添加行。 **提示:**'Vector'有一個方法:'addElementAt(int)' – Astrobleme

+0

您能否詳細說明這一點? –

+0

確定,謝謝。 –

回答

0

請參閱ReplaceFilterant任務。

+0

替換將,我認爲替換令牌(字符串)與新的,我不想在這裏取代,只是想添加。 –

+1

在這種情況下,用'token + additional'替換'token'。 – Astrobleme

+0

「替換」可以通過將用作標記的文本替換爲自身以及將附加文本替換爲結尾來「添加」。或者,您的「令牌」可以是一個PHP註釋,注意到它將在部署時被替換爲某些東西... – Ned

1

必須使用subString method是這樣的:在String

在第一家店您的文件,這樣以後你可以這樣做:

String s="your file"; 
    String firstPart=s.substring(0,s.lastIndexOf(")")+1); 
    String lastPart=s.substring(s.lastIndexOf(")")+1); 
    firstPart=firstPart+"\n"+"'Illuminate\\Workbench\\WorkbenchServiceProvider',"; 
    s=firstPart+lastPart; 

如何從文件中讀取? 使用BufferedReader包裝一個FileReader

BufferedReader br = null; 
StringBuilder sb=new StringBuilder(); 
    try { 

     String line; 

     br = new BufferedReader(new FileReader("C:\\testing.txt")); 

     while ((line= br.readLine()) != null) { 
      sb.append(line+"\n"); 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (br != null)br.close(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
    String str=sb.toString(); 
+0

然後,在部署過程中,這個調用將如何由'ant'調用? – Ned

+0

這個我認爲,是一種更普遍的方法。 – Astrobleme