2015-04-28 91 views
1

我有一個java項目,其中包含將信息寫入日誌文件的線程。 我在做什麼是以下幾點:PrintWriter不能正常工作java網絡服務

創建過程(PrintWriter file它的屬性)時創建的文件:

public Process(int id){ 
     id_proc= id; 
     try { 
      file=new PrintWriter("log_acuerdo_" + this.id_proc +".txt"); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

然後,當我想寫一些東西:

file.println("P0" + msj.emisor + " " + msj.id); 

然後,在所有線程完成寫入後,我這樣做了:

for(int i=0; i<cant_proc; i++) 
    ((Process)procesos[i]).file.close(); 

這工作得很好。 然後,我想改變項目並使用REST代替Web服務。整個項目工作正常,除非它沒有創建任何文件或沒有任何內容正在寫入。

任何想法爲什麼?

+0

解釋發生了什麼*完全*,而不是「我不知道」,但是恰當地描述了發生什麼以及在什麼條件下。 – RealSkeptic

+0

文件未被創建。我看到這可能發生,如果文件沒有被正確關閉,但我正在做。 – mike

+1

您是否查看過服務器日誌以查找任何異常?你確定你正在尋找正確的目錄中的文件?你似乎在使用相對文件名,你知道它是相對的嗎? – RealSkeptic

回答

0

如果您使用的是REST,那麼您的文件將在您的eclipse文件夾中創建。看看那裏。還有一堆其他文件夾,如'p2','配置','自述'和其他東西。

+0

謝謝你!你是對的!我不知道爲什麼當我在XOS中運行它們時,它們並沒有被創建,但是當我在windows上運行它們時,它們是在eclipse文件夾中創建的。 謝謝!!! – mike