2014-01-13 40 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