2010-01-01 2 views
0

첫 번째 줄에 포함될 텍스트 파일의 번호를 검색하고 변경해야합니다. 텍스트 파일에 저장된 데이터 항목을 나타 내기 위해 "4", "120", "78"과 같은 길이가 변경됩니다.텍스트 파일의 번호 검색 및 바꾸기

+1

숙제는 다른 사람이 당신을 위해 할 때 항상 더 좋습니다. 아니면 완전히 잘못되었는데 이것이 실제 생활에서 생산 문제입니까? –

+0

나는 이것을 바꿔 말할 것입니다. 그것은 가난하게 자세를 취했다. 좀 더 자세히 설명해 주시겠습니까? – duffymo

답변

4

첫 번째 줄의 길이를 변경해야한다면 전체 파일을 읽고 다시 작성해야합니다. 새 파일을 먼저 작성한 다음 프로그램의 작동이 중간에 중단되면 데이터 손실을 막기 위해 올바르게 작성되었는지 확인한 후 파일 이름을 바꾸는 것이 좋습니다.

2

이것은 MyTextFile.txt에서 읽은 다음 첫 번째 숫자를 변경 한 다음 새 번호와 나머지 파일을 임시 파일에 씁니다. 그런 다음 원본 파일을 삭제하고 임시 파일의 이름을 원래 파일 이름 (이 예제에서는 MyTextFile.txt라고도 함)으로 바꿉니다. 그 번호가 어떻게 바뀌어야하는지 정확히 알지 못했기 때문에 임의로 작성했습니다. 42. 파일에 포함 된 데이터 항목을 설명하면 더 도움이 될 수 있습니다. 바라기를 이것은 어쨌든 당신을 도울 것입니다.

import java.util.Scanner; 
import java.io.*; 

public class ModifyFile { 
    public static void main(String args[]) throws Exception { 
     File input = new File("MyTextFile.txt"); 
     File temp = new File("temp.txt"); 
     Scanner sc = new Scanner(input); //Reads from input 
     PrintWriter pw = new PrintWriter(temp); //Writes to temp file 

     //Grab and change the int 
     int i = sc.nextInt(); 
     i = 42; 

     //Print the int and the rest of the orginal file into the temp 
     pw.print(i); 
     while(sc.hasNextLine()) 
      pw.println(sc.nextLine()); 

     sc.close(); 
     pw.close(); 

     //Delete orginal file and rename the temp to the orginal file name 
     input.delete(); 
     temp.renameTo(input); 
    } 
}