2015-04-28 72 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