2012-05-12 3 views
2

HTML5를 사용하여 Windows 8 응용 프로그램을 개발 중입니다. 응용 프로그램은 새 이벤트를 작성하기 위해 일부 사용자 데이터가 필요합니다. 이벤트에는 제목, 설명, 날짜 및 시간이 있습니다. 사용자가 다음 번에 응용 프로그램을 열 때 볼 수 있도록 양식을 채운 후에이 데이터를 JSON 형식의 텍스트 파일에 저장하려고합니다.Windows에서 텍스트 파일에 데이터 쓰기 8

JSON 개체를 텍스트 파일에 쓰는 방법이 다르지만 텍스트 파일 끝에 데이터를 추가하는 것과 관련된 내용을 찾을 수 없습니다. 기본적으로, 나는 하나의 events.txt에서 데이터를 읽고 표시하고 사용자가 이벤트를 추가 한 후에 동일한 .txt에 이벤트를 추가하려고합니다.

내 events.txt이

[ 
     { 
     "key": "event1", 
     "title": "title1", 
     "description": "description1", 
     "date": "<sample date>", 
     "time": "<sample time>", 
     "backgroundImage": "../images/logo.png" 
     } 
] 

내가 난으로 도움의 모든 종류가 대단히 감사합니다

WinJS.xhr({ url: "../data/events.txt" }).then(function (xhr) { 
     var events = JSON.parse(xhr.responseText); 

     events.forEach(function (feed) { 
      event.push({ 
       group: feed, 
       key: feed.key, 
       title: feed.title, 
       description: feed.description, 
       date: feed.date, 
       time: feed.time, 
       backgroundImage: feed.backgroundImage 
      }); 
     }); 
    }); 

다음 코드를 사용하여이 파일에서 이벤트를 읽고 있어요처럼 보인다 마감 시간에 빡빡하게 달리고 있습니다.

감사합니다.

+0

이것이 내가하는 일을하는 가장 좋은 방법이 아니라고 생각되면 계속 진행하는 방법을 알려주십시오. 내가 말했듯이, 어떤 종류의 도움도 인정 될 것입니다. – Harjoben

답변

4

File Access sampleConsumer Preview으로 찾으십니까?

내가 올바르게 질문을 이해한다면, 나는 여기 당신이 사용하고자하는 중요한 API라고 생각한다. 파일 입출력 API에

// Create a file 
var eventFile; 
Windows.Storage.KnownFolders.documentsLibrary.createFileAsync("event.txt", Windows.Storage.CreationCollisionOption.openIfExists).done(function (file) { 
     eventFile = file; 
    }); 

// Write Text to a file 
Windows.Storage.FileIO.writeTextAsync(eventFile, JSON.stringify(yourJSONObject)); 

// Append Text to a file 
Windows.Storage.FileIO.appendTextAsync(eventFile, JSON.stringify(yourJSONObject)); 

더 많은 참조 : 또한 http://msdn.microsoft.com/en-us/library/windows/apps/hh701440.aspx

, 왜 당신은 당신의 이벤트 정보를 저장하는 local storage 또는 indexedDB 사용을 고려하지?

+0

답장을 보내 주셔서 감사합니다. File Access 샘플을 살펴 보았습니다. 내가 이해 한대로, 파일은 응용 프로그램이 열릴 때마다 만들어집니다. 맞습니까? 나는 API를 다시 시험해보고있다. 사용자가 앱을 열 때마다 업데이트 된 데이터를 사용할 수 있어야합니다. – Harjoben

+0

@ user870681 제 경험으로 볼 때 데이터는 영구합니다. 제거하지 않는 한 거기에 있어야합니다. 파일을 덮어 쓰지 않으려면'Windows.Storage.CreationCollisionOption.OpenIfExists'를 사용할 수 있습니다. –

+0

그 이후로 나는 이것을 시도해 왔지만 응용 프로그램은 계속 충돌합니다. 그런 다음 'Windows.Storage.ApplicationData.current.local.createFileAsync ("events.txt");' 이 파일을 사용하여 데이터를 쓸 수 있지만 지금은 그것을 읽는 데 문제가 있습니다. 어떤 아이디어? 전체 코드를 올리시겠습니까? – Harjoben