2013-03-12 2 views
0

나는 일기와 비슷한 양식을 가지고 있습니다. 사용자가 메모를 작성하고 양식에서 텍스트 상자의 메모를 텍스트 파일로 저장하려고합니다. 데이터는 텍스트 파일에 추가되지만 맨 위에 추가하면로드 될 때 사용자가 볼 수있는 첫 번째 텍스트 줄이됩니다.텍스트 파일의 맨 위에 텍스트 추가

IO.File.AppendAllText("name.txt", vbCrLf + Date.Today + vbCrLf + TextBox9.Text) 

텍스트를 텍스트 파일 맨 위에 삽입 할 수있는 방법이 있습니까?

+0

참조 http://stackoverflow.com/questions/1343044/c-prepending-to-beginning-of-a-file – user1929959

+0

위의 스레드에서 user1929959가 게시 한 제안을 읽는 것 외에도 각 항목을 저장하는 것이 좋습니다. 자체 파일에. 예를 들어 가장 최근의 항목 10 개를 가져 오는 것이 훨씬 쉬울 것이며 각 파일은 자체 타임 스탬프를 갖게됩니다. 또한 파일이 커지면 IO 작업이 매우 느려질 가능성도 줄어 듭니다. 또한 데이터베이스를 사용하는 이유는 무엇입니까? –

+0

나는 모든 디자인 매개 변수를 가지고 있지 않은 사람들로부터 제안을 구현하는 것에 매우 신중할 것입니다. 예를 들어 @ JacobVanScoy가 여러 파일에 대한 제안은 파일 수가 1,000 개를 초과하면 함정이 될 것입니다. –

답변

1

name.txt의 내용을 가져 와서 변수에 넣은 다음 앞에 새 텍스트를 추가하십시오. 이 같은
뭔가 :이 방법의

Dim mytext as String 
mytext = Read(name.txt) 
mytext = Date.today & vbCrlf & Textbox9.text & vbCrlf & name.txt 
IO.File.WriteAllText("name.txt", mytext) 

단점은 쓰기 시간이 될 때마다 텍스트 증가를 증가시킬 것입니다.

+0

파일의 크기가 매우 크면 20MB라고 말합니다. 이 경우 모든 텍스트를 읽는 데는 많은 시간이 소요됩니다. 다른 가능한 방법? – Pramod

0

기존 로그를 읽고 새 항목 앞에 로그를 기록하십시오.

잘 확장되지는 않지만 잠시 동안 확인을해야합니다. 새 항목의 볼륨에 따라 일별/월별/일별 로그를 전환 할 수 있습니다.

관련 문제