2013-06-14 5 views
0

배열 목록에 사용자를 추가 할 때이 코드를 파일에 쓸 수 있습니다. 코드는 잘 작동 :코드를 복제하지 않고 여러 파일에 쓰기 Java

public void writeToFile(String content) 
    { 
     try { 
      File file = new File("H:/JavaWorkspace/TradingPlatformProject/User_Report.txt"); 

      if (!file.exists()) { 
       file.createNewFile(); 
      } 
      FileWriter fw = new FileWriter(file.getAbsoluteFile(), true); 
      BufferedWriter bw = new BufferedWriter(fw); 
      bw.write(content + "\n"); 

      bw.close(); 
      logger.info("Recorded to User Activity file"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

내가 (권한 업그레이드를 요청, 말) 사용자가 다른 무언가를 할 때 별도의 파일에 기록합니다. 이 코드를 복제하지 않고 "UserRequests.txt"라는 새 파일에 쓸 수있는 방법이 있습니까?

+0

아마도 파일 이름이나 작업을 매개 변수로 추가하면됩니까? –

답변

7

왜 방법을 더 일반적으로 만들지 않습니까? 다음

public void writeToFile(String content, String filename){ 

: 그리고 당신이 쓰고 싶은 3

+0

훌륭한 아이디어 감사합니다! – user2297666

0

난 그냥 파일에 전달할 것 :

public void writeToFile(String content, String fileName, String path) 
    { 
     try { 
      File file = new File(path + fileName); 

      if (!file.exists()) { 
       file.createNewFile(); 
      } 
      FileWriter fw = new FileWriter(file.getAbsoluteFile(), true); 
      BufferedWriter bw = new BufferedWriter(fw); 
      bw.write(content + "\n"); 

      bw.close(); 
      logger.info("Recorded to User Activity file"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

은 그럼 당신은 모든 종류의 파일을 작성하는 방법을 사용할 수 있습니다

File file = new File("H:/JavaWorkspace/TradingPlatformProject/"+filename); 
1

아마도 다음과 같이 두 번째 인수 만 사용해야합니다. 또한 finally 블록에서 Writers를 닫아야합니다. 그렇게하면 작성하는 동안 예외가 발생하더라도 작성자가 종료된다는 것을 확신 할 수 있습니다.

관련 문제