2012-07-01 5 views
-1

사용자에게 정보를 요청하여 영화 및 일부 정보가 포함 된 .txt 파일을 업데이트하려고합니다. 파일은 다음과 같이 구성되어 있습니다..txt 파일에 사용자 입력 텍스트 추가

0000-Movie Title Goes Here-9.99-ClientID 
0001-Same thing here-9.99-CLIENTID2 

이렇게 계속됩니다. 여기

내가 사용하고 코드입니다 :
BufferedWriter output = new BufferedWriter(new FileWriter("movies.txt", true)); 
    System.out.println("Inserte numero de la pelicula:\n"); 
    String pelNum = CTeclado.ReadString(); 
    System.out.println("Inserte el titulo de la pelicula:\n"); 
    String pelName = CTeclado.ReadString(); 
    System.out.println("Inserte el precio de la pelicula:\n"); 
    String pelPrice = CTeclado.ReadString(); 
    output.append(pelNum + "-" + pelName + "-" + pelPrice + "-null"); 
    output.close(); 
    ReadM(); 
    System.out.println("Pelicula agregada!\n"); 
    MainMenu(); 

합니다 (CTeclado 일이 입력을 읽는 데 사용되는)이 오류없이 컴파일
그러나 실제 파일에 변화가 .... 없다 내 코드에 무슨 문제가 있습니까?

+0

을 시도해야한다고 생각의 끝에서 정확히 종료했습니다 파일입니다 jar 파일과 같은 폴더에서 수정하려고합니까? 경로없이 파일 이름 만 지정하면 java는 해당 파일이 실행중인 소스 코드와 동일한 폴더에 있다고 가정합니다. 또한 Java 명명 규칙을 준수하십시오. 변수 및 메소드 이름은 소문자로 시작합니다. – fireshadow52

+0

네, 실제로 필자는 필드에 전체 파일 경로를 넣고 동일한 결과를 얻으려고 시도했습니다. 저는 CTeclado 클래스와 그 메소드가 다른 누군가에 의해 나에게 전달되었고 그것은 긴 클래스입니다. 나중에 편집 할 것입니다. – iVikD

+0

죄송합니다. 나는 완전히 당신이 잘못된 방법을 사용하고 있다는 사실을 놓쳤다! ['write()'] (http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Writer.html#write (java.lang.String, % 20int, % 20int)) 메서드를 사용하여 파일에 내용을 쓰십시오.'output.write ("stuff goes here");' – fireshadow52

답변

1

난 당신이 아래의 코드

PrintStream output = new PrintStream(new File("movies.txt")); 
output.append(pelNum + "-" + pelName + "-" + pelPrice + "-null").append("\n"); 
+0

사실 내 delete 메서드는 항상 파일의 끝에 빈 줄을 남겨 둡니다. 고마워요! – iVikD

0

output.write("\n" + "stuff goes here)을 사용하면 @ fireshadow52처럼 작동합니다.
output.append("\n" + "stuff") 또한, 일을 확인 .txt 파일이 (없는 새로운 라인) 라인

관련 문제