2013-11-25 4 views
0

아래 코드를 사용하여 .properties 파일에 속성을 쓰고 있습니다. 이 정렬 된 위치에 있지만 내가 그것을 얻을 수 괜찮나 항상 at the end 추가됩니다 원하는 나누었다 마지막에 속성을 추가하고 있지만하나의 .properties 파일 끝에 끝에 속성을 추가하는 방법

InputStream inputStream = null; 
    try { 
     inputStream = file.getContents(); 
     Properties properties = new Properties(); 
     properties.load(inputStream); 
     inputStream.close(); 
     properties.setProperty(propertyKey.trim(), propertyValue.trim()); 
     File file1 = file.getRawLocation().makeAbsolute().toFile(); 
     FileOutputStream outputStream = new FileOutputStream(file1); 
     properties.store(outputStream, null); 
     outputStream.close(); 
     } 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } catch (CoreException ex) { 
     ex.printStackTrace(); 
    } 

?

+0

'IFile'을 사용하고있는 것처럼 보입니다. 파일을 저장하기 위해'IFile.setContents'를 사용해야합니다. 현재의 메소드는 Eclipse와의 동기화를 벗어난 파일을 남겨 둡니다. –

+0

예, u r right.it는 eclipse와 동기화되지 않은 파일을 표시하고 있습니다. – Anu

답변

0

사용 FileWriter는 파일의 끝 (생성자의 두 번째 매개 변수가 추가 정의합니다 모드)에 추가 할 :

try (FileWriter out = new FileWriter(file, true)) { 
    out.append(property + "=" + value); 
} 
+0

감사합니다.하지만 파일의 기존 내용도 추가하고 있습니다. – Anu

0
FileOutputStream outputStream = new FileOutputStream(file1,true); 

진정한는 파일의 마지막에 새로운 내용을 추가한다는 뜻입니다.

here

+0

감사합니다.하지만 파일의 기존 파일 내용도 추가하고 있습니다. – Anu

+0

@Anu 속성 개체에 어떤 데이터가 있는지 한 번 확인하십시오. 나는 당신이 그것으로 전체 파일 내용을 로딩하고있는 yous를 추측한다. 그리고 왜 그것이 기존의 파일 내용을 덧붙이는지. 속성 개체에 필요한 키만 있는지 확인하십시오. – Adarsh

+0

좋아. 내가 확인해. 고마워. – Anu

1

당신은 속성의 파일 자바 문서를 선택하면, 당신은 키 값 쌍을 저장하는 그 사용하여 해시를 찾을 수 있습니다, 키의 순서가 더도 보장 읽어보십시오. 따라서 파일 작업을 완료 한 후에 속성 파일을 다시로드해야합니다.

관련 문제