2012-08-31 2 views
0

파일에 자바 코드를 추가하고 싶습니다.내가 추가하고 싶습니다 특정 위치에있는 파일의 일부 데이터 자바 코드

내 파일은 다음과 같은 데이터가 포함

#JSGF V1.0; 

/** 
* JSGF Grammar for Hello World example 
*/ 

grammar hello; 

public <greet> = (ANKIT)|(BHAVIK)|(MONIL)|(JAY)|(HIREN)|(KRUTIKA)|(RIKIN)|(YAGNESH)|(KRISHNA); 

을하고 난 파일을 추가 할 때마다 데이터가 내가 JAYA를 추가하면

그래서 그때는 다음과 같이 덧붙 ; charachter 앞에 와야하는 것을 원하는 :

public <greet> = (ANKIT)|(BHAVIK)|(MONIL)|(JAY)|(HIREN)|(KRUTIKA)|(RIKIN)|(YAGNESH)|(KRISHNA)|(JAYA); 

제발 나에게 적절한 suggession 또는 샘플 코드를 제공하십시오.

내가 다음과 같이 이런 종류의 물건을 실현하려 같이 완료했다 ..

시도 { 파일 F = 새로운 파일 ("E : \ NEw_Workspace Voice_recognition_modify \ \ SRC \ 에듀 \ CMU 스핑크스 \ 데모 \ \ helloworld \ hello.gram "); RandomAccessFile raf = 새 RandomAccessFile (f, "rw"); 다음과 같은

    // Read a character 
        // char ch = raf.readChar(); 

        // Seek to end of file 
        raf.seek((f.length())-1); 

        // Append to the end 
        raf.writeChars("|(ASHISH);"); 
        raf.close(); 
       } catch (IOException e) { 
       } 

하지만 난 파일에 놓여져 아웃을 얻고있다 : 는 "A"는 다음 몇 가지 사각형 박스 이미지는 다음 몇 가지 사각형 박스 이미지 "그래서 당신은 사용할 수

+1

두 번째';'뒤 * 뒤에 나오는 줄을 * 원하는 줄로 바꾸고 싶습니다. 아니면 마지막';'앞에'| (단어)'를 추가하고 싶을 수도 있습니다. 당신은 명확히 할 수 있습니까? –

+0

이것은 명확한 질문이 아닙니다. stackoverflow 친구들에 의해 그것을 제거하기 전에 더 많은 것을 기술하십시오! ;) – Heidarzadeh

+0

두 번째 뒤에 | (단어)를 추가하고 싶습니다. 2시 이전에 추가해야하는 시간을 evry하십시오. –

답변

0

나는 다음 코드를 가지고 그것을 수행했습니다. 성공했습니다.

   File f = new File("E:\\NEw_Workspace\\Voice_recognition_modify\\src\\edu\\cmu\\sphinx\\demo\\helloworld\\hello.gram"); 
        RandomAccessFile raf = new RandomAccessFile(f, "rw"); 

        // Read a character 
        // char ch = raf.readChar(); 

        // Seek to end of file 
        raf.seek((f.length())-1); 

        // Append to the end 
        raf.write(("|(KARAN);").getBytes()); 

        raf.close(); 
       } catch (IOException e) { 
       } 
1

에"다음의 " FileReader/FileWriter 조합

각 줄을 읽은 다음 마지막 문자가 있는지 확인하십시오. 다음 입력하기 전에 입력하십시오; 아파치 라이브러리를 다른 문자열 안에 문자열을 삽입 할 수있는 방법이 있다고 생각합니다. 직접 방법을 작성하십시오.

또는 RandomAccessFile을 사용할 수 있으며 파일을 여는 모드는 rw입니다. 그런 다음 기존 파일을 수정할 수 있습니다. readLine()을 호출하고 확인하는 것과 동일한 프로세스를 사용할 수 있습니다. RandomAccessFile을 사용하는 예는 다음과 같습니다. here

한 가지 질문이 있습니다. 거친 검증되지 않은 코드 내 메모리 RandmonAccessFile 너무 좋은 것이 아니라 RandomAccessFile의이 경우 클리너가 될 것입니다 있지만 위의 약 작동합니다

BufferedReader in = new BufferedReader(new FileReader("/tmp/fileIn")); 
String str; 
while ((str = in.readLine()) != null) { 
    BufferedWriter out = new BufferedWriter(new FileWriter("/tmp/fileOut")); 
    if (str.endsWith(";") { 
     //insert the variable before the ; here 
    } 
    out.write(str); 
    out.close(); 
} 
in.close(); 

에서

; 항상 마지막 문자입니다

+0

예 .. 올빼미 한 줄 끝내야합니다; ... can not u는 샘플 코드를 제공합니다 ...? –

+0

대답 업데이트를 참조하십시오. 그것은 테스트되지 않지만 당신 가까이 가야한다 – RNJ

+0

나는 anythng를 제거하고 싶지 않다. .. 마사 데이터를 제거하고 나는 두 번째 시간 전에 문자열을 추가해야한다 ";" 처음 등장하기 전에 ";" –

관련 문제