2014-07-09 2 views
-2
static void goOut(String in) { 
        //instance variables 
    String fileCopy = currentLine +  in; 
    try { 
     FileWriter writer = new FileWriter(output,true); 


     writer.write(line1 + System.getProperty("line.separator", "\r\n")); 
     writer.write(fileCopy + System.getProperty("line.separator", "\r\n")); 


    } catch(IOException ex) { 
     ex.printStackTrace(); 
    } 
} 

다른 사용자가 지적한 올바른 표준에 맞게 편집 된 코드.자바 쓰기 라인을 여러 번 쓰시겠습니까?

+9

왜 같은 파일에 동시에 두 개의'FileWriter' 객체를 작성하겠습니까? 재앙에 대한 처방처럼 들립니다. –

+0

답장을 보내 주셔서 감사합니다. 나는 그런 식으로 문제를 해결하려했지만 작동하지 않았다. 하나의 FileWriter로도 작동하지 않습니다. – Adz

+0

작가에게 다시 전화 할 수 있습니까? –

답변

0

물론 당신이 무엇을 말하고있는 것이지. 매번 x와 숫자를 씁니다. 빠른 수정 : 첫 번째 실행 인 경우 깃발을 유지하면 flag = true로 설정됩니다. 통해 UR 방법에서 확인,이 같은 STH :

public class YourClass{ 

private boolean didRun = false; 

static void goOut(String in) { 

    ...... init ur file and writer 
    if(!didRun) 
     writer.write(Y); 

    writer.write(in); 
    writer.close(); 
    didRun = true; 
    } 
} 

나는 코드의 나머지 부분을 잘 모릅니다하지만 유

+0

흠 y에 의해 요청한 결과가 결코 인쇄되지 않습니다 – Adz

+0

어쩌면 좀 더 읽기 쉬운 코드 – eldjon

+0

으로 응답을 업데이트했습니다. 작동하지만 java.io.IOException이 발생합니다. 스트림 닫힌 오류 . 그래도 올바른 파일 형식을 만듭니다./ – Adz

0

"goOut"이 담당하는 작업을 분리하고 싶습니다.

"goOut"만 입력해야합니다. 숫자를 작성하십시오 (예제에서).

y의 쓰기 (예제의 경우)는 메소드의 일부가되어서는 안되며 파일에 쓰기 시작시 한 번 호출해야합니다.

또한 @Jon Skeet은 여러 FileWriter에 관한 것입니다. 동일한 파일이므로 하나를 사용하십시오.

0

동의 필요, 재해 같은 소리 먹으 렴 내가 생각합니다.

여러 개의 작성자를 사용하여 파일에 액세스 할 때 예기치 않은 결과가 예상됩니다.

FileWriter1이 FileWriter2 이전에 작업을 완료한다는 보장이 없다고 생각합니다.

또한이 메서드는 동기화되지 않습니다.

관련 문제