×
Namespaces

Variants
Actions
(Difference between revisions)

File manipulation with IsolatedStorageFile on Windows Phone

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Add Files/Data category)
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Fix metadata etc)
Line 1: Line 1:
 
[[Category:Windows Phone]][[Category:Code Examples]][[Category:Files/Data]]
 
[[Category:Windows Phone]][[Category:Code Examples]][[Category:Files/Data]]
{{Abstract|This article demonstrates how to store data locally on WP7 using Isolated Storage.}}
+
{{Abstract|This article demonstrates how to store data locally on WP7 using Isolated Storage.}}
{{ArticleMetaData
+
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= [[Media: IsolatedStorageWP7.zip]]
 
|sourcecode= [[Media: IsolatedStorageWP7.zip]]
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
Line 8: Line 8:
 
|platform= WP7.1 <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
 
|platform= WP7.1 <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
 
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
|signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer -->
+
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
|capabilities=<!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
+
|signing= <!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 
|keywords= File Handling/ Isolated Storage <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
 
|keywords= File Handling/ Isolated Storage <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
|id= <!-- Article Id (Knowledge base articles only) -->
+
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 
|creationdate= 18th November,2011<!-- Format YYYYMMDD -->
 
|creationdate= 18th November,2011<!-- Format YYYYMMDD -->
|author= [[User:somnathbanik]] <!-- Display as link [[User:username]] -->
+
|author= [[User:Somnathbanik]]
 
}}
 
}}
 
==Introduction==
 
==Introduction==
 
Isolated Storage is used to store local data on a Windows Phone 7.  There are two ways we can store data in Isolated Storage :
 
Isolated Storage is used to store local data on a Windows Phone 7.  There are two ways we can store data in Isolated Storage :
* [http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile.aspx IsolatedStorageFile] :  It allows to store Files on the user’s device.
+
* [http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile.aspx IsolatedStorageFile] :  It allows to store Files on the user’s device.
* [http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings%28v=VS.95%29.aspx IsolatedStorageSettings]  :  It allows to store name/value pairs in a dictionary that we can retrieve later using library.   
+
* [http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings%28v=VS.95%29.aspx IsolatedStorageSettings]  :  It allows to store name/value pairs in a dictionary that we can retrieve later using library.   
 
   
 
   
 
[[File: IsolatedStorageWP7.png|thumb|301px|none| File Manipulation in WP7  ]]  
 
[[File: IsolatedStorageWP7.png|thumb|301px|none| File Manipulation in WP7  ]]  
Line 24: Line 32:
  
 
==Basic Idea==  
 
==Basic Idea==  
In this article we will use  [http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefilestream%28v=VS.90%29.aspx IsolatedStorageFileStream] class to Read/Write/Create file in Isolated Storage. For our simplicity we will create an application that can take user data as input and save the data in a file in Isolated Storage, and also can retrieve the data from Isolated Storage.  
+
In this article we will use  [http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefilestream%28v=VS.90%29.aspx IsolatedStorageFileStream] class to Read/Write/Create file in Isolated Storage. For our simplicity we will create an application that can take user data as input and save the data in a file in Isolated Storage, and also can retrieve the data from Isolated Storage.  
 
   
 
   
 
==Implementation ==
 
==Implementation ==
When we are ready with an empty project for WP7, let’s take some data from user input and save it to a file in Isolated Storage.
+
When we are ready with an empty project for WP7, let’s take some data from user input and save it to a file in Isolated Storage.
 
<code cpp>
 
<code cpp>
 
IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication();
 
IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication();
Line 56: Line 64:
 
   
 
   
 
</code>
 
</code>
Then read the file from the specific location. Read the content of the file with {{Icode|ReadToEnd()}} and finally display the content of the file to the Textbox. If the file doesn’t exist and user clicks on the retrieve button to display the file content then we display a message. We can also check the file existence with {{Icode|IsolatedStorageFile::FileExists(FilePath)}}.
+
Then read the file from the specific location. Read the content of the file with {{Icode|ReadToEnd()}} and finally display the content of the file to the Textbox. If the file doesn’t exist and user clicks on the retrieve button to display the file content then we display a message. We can also check the file existence with {{Icode|IsolatedStorageFile::FileExists(FilePath)}}.
  
 
==Windows Phone 7 Isolated Storage Explorer==
 
==Windows Phone 7 Isolated Storage Explorer==
Windows Phone 7 Isolated Storage Explorer allows you to see and explore files in the Isolated Storage. You can also import/export the file to/from the Isolated Storage.  
+
Windows Phone 7 Isolated Storage Explorer allows you to see and explore files in the Isolated Storage. You can also import/export the file to/from the Isolated Storage.  
 
*First let’s download and install the [http://wp7explorer.codeplex.com/releases/view/61282 Windows Phone 7 Isolated Storage Explorer] installation file from CodePlex .  
 
*First let’s download and install the [http://wp7explorer.codeplex.com/releases/view/61282 Windows Phone 7 Isolated Storage Explorer] installation file from CodePlex .  
 
*Add the reference '''IsolatedStorageExplorer.dll''' to the project from  
 
*Add the reference '''IsolatedStorageExplorer.dll''' to the project from  
 
''C:\Program Files\WP7 Isolated Storage Explorer\Library\IsolatedStorageExplorer.dll''
 
''C:\Program Files\WP7 Isolated Storage Explorer\Library\IsolatedStorageExplorer.dll''
*Start IsolatedStorageExplorer in the ''App.xaml.cs'' while launching.  
+
*Start IsolatedStorageExplorer in the ''App.xaml.cs'' while launching.  
 
<code cpp>
 
<code cpp>
 
private void Application_Launching(object sender, LaunchingEventArgs e)
 
private void Application_Launching(object sender, LaunchingEventArgs e)
Line 81: Line 89:
 
   
 
   
 
</code>
 
</code>
*Run the application and launch the IsolatedStorageExplorer from  
+
*Run the application and launch the IsolatedStorageExplorer from  
 
''Start->All Programs-> WP7 Isolated Storage Explorer
 
''Start->All Programs-> WP7 Isolated Storage Explorer
 
''
 
''
Line 87: Line 95:
  
 
==Summary==
 
==Summary==
When we create a file in Isolated Storage the I/O operations are restricted to, so the data are local to the application. It doesn’t have direct access from any other file system or application.  So it’s secure from unauthorized access. If you are sharing same data from two applications then those data can’t be local to any of the application, it suggested to store the data in cloud. The storage resources on a phone are limited, so it is recommended to store necessary data.
+
When we create a file in Isolated Storage the I/O operations are restricted to, so the data are local to the application. It doesn’t have direct access from any other file system or application.  So it’s secure from unauthorized access. If you are sharing same data from two applications then those data can’t be local to any of the application, it suggested to store the data in cloud. The storage resources on a phone are limited, so it is recommended to store necessary data.
 
   
 
   
 
   
 
   

Revision as of 00:14, 24 April 2012

This article demonstrates how to store data locally on WP7 using Isolated Storage.

WP Metro Icon File.png
SignpostIcon XAML 40.png
WP Metro Icon WP8.png
SignpostIcon WP7 70px.png
Article Metadata
Code ExampleTested with
Devices(s): WP7 Emulator
CompatibilityArticle
Keywords: File Handling/ Isolated Storage
Created: somnathbanik (18 Nov 2014)
Last edited: hamishwillee (24 Apr 2012)

Contents

Introduction

Isolated Storage is used to store local data on a Windows Phone 7. There are two ways we can store data in Isolated Storage :

File Manipulation in WP7
WP7 Isolated Storage Explorer

Basic Idea

In this article we will use IsolatedStorageFileStream class to Read/Write/Create file in Isolated Storage. For our simplicity we will create an application that can take user data as input and save the data in a file in Isolated Storage, and also can retrieve the data from Isolated Storage.

Implementation

When we are ready with an empty project for WP7, let’s take some data from user input and save it to a file in Isolated Storage.

IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication();
StreamWriter Writer = new StreamWriter(new IsolatedStorageFileStream("TestFile.txt", FileMode.OpenOrCreate, fileStorage));
Writer.WriteLine(textBox1.Text);
Writer.Close();

We have created an object of IsolatedStorageFile which obtain a virtual storage for the application. Then let’s create a new StreamWriter, to write the file to the specified location. WriteLine() is used to write the content to the file. And Finally we close the StreamWriter. This will just create a new file with the name TestFile.txt in the Isolated Storage.

To retrieve the content of the file from the Isolated Storage. Let’s again create a virtual store for the application. This time we will create a StreamReader to read the content.

 
IsolatedStorageFile fileStorage = IsolatedStorageFile.GetUserStoreForApplication();
StreamReader Reader = null;
try
{
 
Reader = new StreamReader(new IsolatedStorageFileStream("TestFile.txt", FileMode.Open, fileStorage));
string textFile = Reader.ReadToEnd();
textBox2.Text = textFile;
Reader.Close();
}
catch
{
MessageBox.Show("File it not created");
}

Then read the file from the specific location. Read the content of the file with ReadToEnd() and finally display the content of the file to the Textbox. If the file doesn’t exist and user clicks on the retrieve button to display the file content then we display a message. We can also check the file existence with IsolatedStorageFile::FileExists(FilePath).

Windows Phone 7 Isolated Storage Explorer

Windows Phone 7 Isolated Storage Explorer allows you to see and explore files in the Isolated Storage. You can also import/export the file to/from the Isolated Storage.

C:\Program Files\WP7 Isolated Storage Explorer\Library\IsolatedStorageExplorer.dll

  • Start IsolatedStorageExplorer in the App.xaml.cs while launching.
private void Application_Launching(object sender, LaunchingEventArgs e)
{
IsolatedStorageExplorer.Explorer.Start("localhost");
}

Localhost is the name/IP address of the system

  • In Activated event in App.xaml.cs call IsolatedStorageExplorer.Explorer.RestoreFromTombstone()
 
private void Application_Activated(object sender, ActivatedEventArgs e)
{
IsolatedStorageExplorer.Explorer.RestoreFromTombstone();
}
  • Run the application and launch the IsolatedStorageExplorer from

Start->All Programs-> WP7 Isolated Storage Explorer

  • This will display the file being created, you can download the file to the desktop, delete the file or even can import file to the Isolated Storage.

Summary

When we create a file in Isolated Storage the I/O operations are restricted to, so the data are local to the application. It doesn’t have direct access from any other file system or application. So it’s secure from unauthorized access. If you are sharing same data from two applications then those data can’t be local to any of the application, it suggested to store the data in cloud. The storage resources on a phone are limited, so it is recommended to store necessary data.


Source Code

The full source code of the example is available here: File:IsolatedStorageWP7.zip

978 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×