2014-04-17 1 views
0
try { 
     FileWriter fw = new FileWriter("plugins/TestMessage/messages.txt", true); 
    } catch (IOException e) { 
     e.printStackTrace();} 
    } 

얘들 아, 나는이 noobish 들리 겠지만 알고 있지만 어떻게이 FileWriter을 닫습니다 않습니다. 코드는 java에 있습니다. 서버가 멈추었을 때 호출되는 onDisable() 메쏘드를 가지고 있는데, fw.close();을 붙이면 fw cannot be resolved이라고합니다. 도와주세요! 수정 :이 파일 작성기를 닫으려면 어떻게해야합니까? (자바, Bukkit)

코드의 관련 섹션

public class MAIN extends JavaPlugin{{ 
    try { 
     FileWriter fw = new FileWriter("plugins/TestMessage/messages.txt", true); 
    } catch (IOException e) { 
     e.printStackTrace();} 
    } 

    public void onEnable(){ 
     Logger.getLogger("Minecraft").info("MessageBroadcaster made by cheeseballs500 aka weakwizardsucks2"); 
    } 

    public void onDisable(){ 
     fw.close();//fw cannot be resolved 
    } 

EDIT 인 D

답변

0

이 시도 ..

public class MAIN extends JavaPlugin{ 
public MAIN() { 
    try { 
     this.fw = new FileWriter("plugins/TestMessage/messages.txt", true); 
    } catch (Exception e) { 
     // TODO: handle exception 
    } 

} 

FileWriter fw = null; 

public void onEnable(){ 
    Logger.getLogger("Minecraft").info("MessageBroadcaster made by cheeseballs500 aka weakwizardsucks2"); 
} 

public void onDisable(){ 
    try { 
     fw.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    }//fw cannot be resolved 
} 
} 
+0

좋아, 해보겠습니다. 감사! –

+0

작동하지 않는 것 같습니다. –

+0

코드를 변경했습니다. 중괄호를 놓친 것 같습니다. – niiraj874u

1

그리고, 어떤 방법의 FileWriter 외부를 생성하여 설정을 시도 ... 예는 다음과 같습니다.

public class Main extends JavaPlugin{{ 
    FileWriter fw;//create the variable 

    @Override 
    public void onEnable(){ 
     try{ 
      fw = new FileWriter(this.getDataFolder() + "/messages.txt", true); //assign the variable to a value, and put the file in your plugin's folder 
     } 
     catch(IOException e){ 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public void onDisable(){ 
     try{ //try-catch just incase 
      fw.close(); 
     } 
     catch(Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 
+0

7 번째 행은 실제로 다음과 같아야합니다. fw = 새 FileWriter (this.getDataFolder() + "/messages.txt", true); // 변수에 값을 할당하고 파일을 플러그인의 폴더에 저장합니다. –