2009-04-09 6 views
1

시뮬레이션을위한 변수를 생성하는 도구가 있습니다. 현재 워크 플로우에는 시뮬레이션 입력 파일에 변수를 손으로 복사하는 작업이 포함됩니다. 입력 파일은 바이너리 또는 XML이 아닌 표준 플랫 파일입니다. 평면 입력 파일에 변수를 추가하는 것을 자동화하고 싶습니다.기존 플랫 파일의 중간을 편집하는 가장 좋은 방법은 무엇입니까?

변수는 파일의 기존 변수를 복사합니다.

새로운 변수 : 길이 10 높이 20 깊이 30 개

올드 변수 : ... 무게 100 나이 20 길이 10 높이 20 깊이 30 ...

가 이전 변수를 새 변수로 복사하려고합니다. 평면 입력 파일에 대한 200 줄입니다.

통찰력을 주셔서 감사합니다.

P. 이것은 Windows에 있습니다.

+0

전체 파일을 다시 작성하는 것이 좋습니다. – mpen

+0

@ 마크, 나는 동의 할 것입니다 - 나는 "어떻게"파일을 다시 쓰는 것이 대답이 필요한 질문이라고 생각합니다. – ninesided

답변

1

플랫을 사용하는 경우 원래 방식으로 읽거나 임시 파일에 쓰거나 원본 행을 쓰거나 데이터를 변경 한 다음 쓰기 만하면됩니다. 데이터를 추가하려면 해당 지점의 임시 파일에 데이터를 씁니다. 데이터를 삭제하려면 원본 파일에서 복사하지 마십시오.

마지막으로 두 파일을 닫고 임시 파일의 이름을 원래 파일 이름으로 바꿉니다.

또는 약간의 데이터베이스에 대해 생각할 시간입니다.

+0

나는이 접근법을 사용했다. 파일에서 임시 변수를 읽고, 파일의 가운데로 내려 가서 편집해야하는 비트를 변경 한 다음 파일을 다시 썼습니다. 특히 전체 행을 교체하고 부분 행을 대체하지 않으므로 잘 작동합니다. – JustADude

0

다음과 같이 간단한 경우는 template engine입니다. 변수 값 대신 미리 정의 된 표식 토큰이있는 기본 템플릿을 가지고 템플릿에 필요한 값을 전달하면 결과 파일을 모두 출력 할 수 있습니다. 귀하의 요구를 충족시킬 수있는 Open Source template engines available in Java이 있으며, 귀하가 선택한 언어로 그러한 것들을 사용할 수 있다고 상상합니다. 너는 너무 어려움없이 너 자신을 굴릴 수 있었다.

관련 문제