Skip to content

Commit 8ccaab7

Browse files
committed
update links
1 parent 625f4de commit 8ccaab7

9 files changed

Lines changed: 28 additions & 28 deletions

hub/apps/develop/files/best-practices-writing-files.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The **Write** methods of the [**FileIO**](/uwp/api/Windows.Storage.FileIO) and [
3535

3636
A [**StorageFile**](/uwp/api/windows.storage.storagefile) object is not a file handle like the native Win32 programming model. Instead, a [**StorageFile**](/uwp/api/windows.storage.storagefile) is a representation of a file with methods to manipulate its contents.
3737

38-
Understanding this concept is useful when performing I/O with a **StorageFile**. For example, the [Writing to a file](quickstart-reading-and-writing-files.md#writing-to-a-file) section presents three ways to write to a file:
38+
Understanding this concept is useful when performing I/O with a **StorageFile**. For example, the [Writing to a file](create-read-write-files.md#writing-to-a-file) section presents three ways to write to a file:
3939

4040
* Using the [**FileIO.WriteTextAsync**](/uwp/api/windows.storage.fileio.writetextasync) method.
4141
* By creating a buffer and then calling the [**FileIO.WriteBufferAsync**](/uwp/api/windows.storage.fileio.writebufferasync) method.
@@ -129,7 +129,7 @@ The time values on the y-axis are omitted intentionally from this chart because
129129

130130
## I/O during app suspension
131131

132-
Your app must designed to handle suspension if you want to keep state information or metadata for use in later sessions. For background information about app suspension, see [App lifecycle](../launch-resume/app-lifecycle.md) and [this blog post](https://blogs.windows.com/buildingapps/2016/04/28/the-lifecycle-of-a-uwp-app/#qLwdmV5zfkAPMEco.97).
132+
Your app must designed to handle suspension if you want to keep state information or metadata for use in later sessions. For background information about app suspension, see [App lifecycle](/windows/uwp/launch-resume/app-lifecycle) and [this blog post](https://blogs.windows.com/buildingapps/2016/04/28/the-lifecycle-of-a-uwp-app/#qLwdmV5zfkAPMEco.97).
133133

134134
Unless the OS grants extended execution to your app, when your app is suspended it has 5 seconds to release all its resources and save its data. For the best reliability and user experience, always assume the time you have to handle suspension tasks is limited. Keep in mind the following guidelines during the 5 second time period for handling suspension tasks:
135135

@@ -190,4 +190,4 @@ The [Parallel Programming with .NET blog](https://devblogs.microsoft.com/pfxteam
190190

191191
## See also
192192

193-
* [Create, write, and read a file](quickstart-reading-and-writing-files.md)
193+
* [Create, write, and read a file](create-read-write-files.md)

hub/apps/develop/files/create-read-write-files.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ Read and write a file using a [**StorageFile**](/uwp/api/windows.storage.storage
2929

3030
- **Understand async programming for Universal Windows Platform (UWP) apps**
3131

32-
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](../threading-async/call-asynchronous-apis-in-csharp-or-visual-basic.md). To learn how to write asynchronous apps in C++/WinRT, see [Concurrency and asynchronous operations with C++/WinRT](../cpp-and-winrt-apis/concurrency.md). To learn how to write asynchronous apps in C++/CX, see [Asynchronous programming in C++/CX](../threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps.md).
32+
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](/windows/uwp/threading-async/call-asynchronous-apis-in-csharp-or-visual-basic). To learn how to write asynchronous apps in C++/WinRT, see [Concurrency and asynchronous operations with C++/WinRT](/windows/uwp/cpp-and-winrt-apis/concurrency). To learn how to write asynchronous apps in C++/CX, see [Asynchronous programming in C++/CX](/windows/uwp/threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps).
3333

3434
- **Know how to get the file that you want to read from, write to, or both**
3535

36-
You can learn how to get a file by using a file picker in [Open files and folders with a picker](quickstart-using-file-and-folder-pickers.md).
36+
You can learn how to get a file by using a file picker in [Open files and folders with a picker](/windows/uwp/files/quickstart-using-file-and-folder-pickers).
3737

3838
## Creating a file
3939

@@ -248,7 +248,7 @@ Await Windows.Storage.FileIO.WriteTextAsync(sampleFile, "Swift as a shadow")
248248
Dim stream = Await sampleFile.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite)
249249
```
250250

251-
2. Next, get an output stream by calling the [**IRandomAccessStream.GetOutputStreamAt**](/uwp/api/windows.storage.streams.irandomaccessstream.getoutputstreamat) method from the `stream`. If you're using C#, then enclose this in a **using** statement to manage the output stream's lifetime. If you're using [C++/WinRT](../cpp-and-winrt-apis/intro-to-using-cpp-with-winrt.md), then you can control its lifetime by enclosing it in a block, or setting it to `nullptr` when you're done with it.
251+
2. Next, get an output stream by calling the [**IRandomAccessStream.GetOutputStreamAt**](/uwp/api/windows.storage.streams.irandomaccessstream.getoutputstreamat) method from the `stream`. If you're using C#, then enclose this in a **using** statement to manage the output stream's lifetime. If you're using [C++/WinRT](/windows/uwp/cpp-and-winrt-apis/intro-to-using-cpp-with-winrt), then you can control its lifetime by enclosing it in a block, or setting it to `nullptr` when you're done with it.
252252

253253
```csharp
254254
using (var outputStream = stream.GetOutputStreamAt(0))
@@ -325,7 +325,7 @@ Await Windows.Storage.FileIO.WriteTextAsync(sampleFile, "Swift as a shadow")
325325

326326
**Best practices for writing to a file**
327327

328-
For additional details and best practice guidance, see [Best practices for writing to files](best-practices-for-writing-to-files.md).
328+
For additional details and best practice guidance, see [Best practices for writing to files](best-practices-writing-files.md).
329329

330330
## Reading from a file
331331

@@ -550,4 +550,4 @@ Dim text As String = Await Windows.Storage.FileIO.ReadTextAsync(sampleFile)
550550

551551
## See also
552552

553-
- [Best practices for writing to files](best-practices-for-writing-to-files.md)
553+
- [Best practices for writing to files](best-practices-writing-files.md)

hub/apps/develop/files/determine-availability-microsoft-onedrive-files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Determine if a Microsoft OneDrive file is available using the [**StorageFile.IsA
2222

2323
- **Understand async programming for Universal Windows Platform (UWP) apps**
2424

25-
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](../threading-async/call-asynchronous-apis-in-csharp-or-visual-basic.md). To learn how to write asynchronous apps in C++, see [Asynchronous programming in C++](../threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps.md).
25+
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](/windows/uwp/threading-async/call-asynchronous-apis-in-csharp-or-visual-basic). To learn how to write asynchronous apps in C++, see [Asynchronous programming in C++](/windows/uwp/threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps).
2626

2727
- **App capability declarations**
2828

hub/apps/develop/files/fast-file-properties.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ Learn how to quickly gather a list of files and their properties from a library
1212

1313
Prerequisites 
1414
- **Asynchronous programming for Universal Windows Platform (UWP) apps**  
15-
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](../threading-async/call-asynchronous-apis-in-csharp-or-visual-basic.md). To learn how to write asynchronous apps in C++, see [Asynchronous programming in C++](../threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps.md)
15+
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](/windows/uwp/threading-async/call-asynchronous-apis-in-csharp-or-visual-basic). To learn how to write asynchronous apps in C++, see [Asynchronous programming in C++](/windows/uwp/threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps)
1616
- **Access permissions to Libraries**  
1717
The code in these examples requires the **picturesLibrary** capability, but your file location may require a different capability, or no capability at all. To learn more, see [File access permissions](./file-access-permissions.md)
1818
- **Simple file enumeration**   
19-
This example uses [QueryOptions](/uwp/api/Windows.Storage.Search.QueryOptions) to set a few advanced enumeration properties. To learn more about just getting a simple list of files for a smaller directory, see [Enumerate and query files and folders](./quickstart-listing-files-and-folders.md)
19+
This example uses [QueryOptions](/uwp/api/Windows.Storage.Search.QueryOptions) to set a few advanced enumeration properties. To learn more about just getting a simple list of files for a smaller directory, see [Enumerate and query files and folders](./list-files-folders.md)
2020

2121
## Usage  
2222
Many apps need to list the properties of a group of files, but don't always need to interact with the files directly. For example, a music app plays (opens) one file at a time, but it needs the properties of all of the files in a folder so the app can show the song queue, or so the user can choose a valid file to play.
2323

24-
The examples on this page shouldn't be used in apps that will modify the metadata of every file or apps that interact with all the resulting StorageFiles beyond reading their properties. See [Enumerate and query files and folders](./quickstart-listing-files-and-folders.md) for more information. 
24+
The examples on this page shouldn't be used in apps that will modify the metadata of every file or apps that interact with all the resulting StorageFiles beyond reading their properties. See [Enumerate and query files and folders](./list-files-folders.md) for more information. 
2525

2626
## Enumerate all the pictures in a location 
2727
In this example, we will
@@ -113,7 +113,7 @@ Apps can request the user to add the location to the index using [StorageLibrary
113113

114114
## See also
115115
[QueryOptions API Reference](/uwp/api/windows.storage.search.queryoptions)
116-
[Enumerate and query files and folders](./quickstart-listing-files-and-folders.md)
116+
[Enumerate and query files and folders](./list-files-folders.md)
117117
[File access permissions](./file-access-permissions.md)
118118

119119

hub/apps/develop/files/file-access-permissions.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,10 @@ You can't access the local, roaming, or temporary folders through the file picke
167167

168168
Additionally, your app can access some of the files on connected devices by default. This is an option if your app uses the [AutoPlay extension](/previous-versions/windows/apps/hh464906(v=win.10)) to launch automatically when users connect a device, like a camera or USB thumb drive, to their system. The files your app can access are limited to specific file types that are specified via File Type Association declarations in your app manifest.
169169

170-
Of course, you can also gain access to files and folders on a removable device by calling the file picker (using [**FileOpenPicker**](/uwp/api/Windows.Storage.Pickers.FileOpenPicker) and [**FolderPicker**](/uwp/api/Windows.Storage.Pickers.FolderPicker)) and letting the user pick files and folders for your app to access. Learn how to use the file picker in [Open files and folders with a picker](quickstart-using-file-and-folder-pickers.md).
170+
Of course, you can also gain access to files and folders on a removable device by calling the file picker (using [**FileOpenPicker**](/uwp/api/Windows.Storage.Pickers.FileOpenPicker) and [**FolderPicker**](/uwp/api/Windows.Storage.Pickers.FolderPicker)) and letting the user pick files and folders for your app to access. Learn how to use the file picker in [Open files and folders with a picker](/windows/uwp/files/quickstart-using-file-and-folder-pickers).
171171

172172
> [!NOTE]
173-
> For more info about accessing an SD card or other removable devices, see [Access the SD card](access-the-sd-card.md).
173+
> For more info about accessing an SD card or other removable devices, see [Access the SD card](/windows/uwp/files/access-the-sd-card).
174174

175175
### User's Downloads folder
176176

@@ -246,7 +246,7 @@ By default, your app can only access files and folders in the user's Downloads f
246246

247247
### Accessing additional locations
248248

249-
In addition to the default locations, an app can access additional files and folders by [declaring capabilities in the app manifest](../packaging/app-capability-declarations.md) or by [calling a file picker](quickstart-using-file-and-folder-pickers.md) to let the user pick files and folders for the app to access.
249+
In addition to the default locations, an app can access additional files and folders by [declaring capabilities in the app manifest](/windows/uwp/packaging/app-capability-declarations) or by [calling a file picker](/windows/uwp/files/quickstart-using-file-and-folder-pickers) to let the user pick files and folders for the app to access.
250250

251251
Apps that declare the [AppExecutionAlias](/uwp/schemas/appxpackage/uapmanifestschema/element-uap5-appexecutionalias) extension have file-system permissions from the directory that they are launched from in the console window, and downwards.
252252

@@ -262,10 +262,10 @@ The following table lists additional locations that you can access by declaring
262262
|----------|------------|---------------------|
263263
| All files that the user has access to. For example: documents, pictures, photos, downloads, desktop, OneDrive, etc. | **broadFileSystemAccess**<br><br>This is a restricted capability. Access is configurable in **Settings** > **Privacy** > **File system**. Because users can grant or deny the permission any time in **Settings**, you should ensure that your app is resilient to those changes. If you find that your app does not have access, you may choose to prompt the user to change the setting by providing a link to the [Windows file system access and privacy](https://support.microsoft.com/windows/-windows-file-system-access-and-privacy-a7d90b20-b252-0e7b-6a29-a3a688e5c7be) article. Note that the user must close the app, toggle the setting, and restart the app. If they toggle the setting while the app is running, the platform will suspend your app so that you can save the state, then forcibly terminate the app in order to apply the new setting. In the April 2018 update, the default for the permission is On. In the October 2018 update, the default is Off.<br /><br />If you submit an app to the Store that declares this capability, you will need to supply additional descriptions of why your app needs this capability, and how it intends to use it.<br/><br/>This capability works for APIs in the [**Windows.Storage**](/uwp/api/Windows.Storage) namespace. See the **Example** section at the end of this article for an example of how to enable this capability in your app.<br/><br/>**Note:** This capability is not supported on Xbox. | n/a |
264264
| Documents | **documentsLibrary**<br><br>Note: You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. <br><br>Use this capability if your app:<br>- Facilitates cross-platform offline access to specific OneDrive content using valid OneDrive URLs or Resource IDs<br>- Saves open files to the user's OneDrive automatically while offline | [KnownFolders.DocumentsLibrary](/uwp/api/windows.storage.knownfolders.documentslibrary) |
265-
| Music | **musicLibrary** <br>Also see [Files and folders in the Music, Pictures, and Videos libraries](quickstart-managing-folders-in-the-music-pictures-and-videos-libraries.md). | [KnownFolders.MusicLibrary](/uwp/api/windows.storage.knownfolders.musiclibrary) |
266-
| Pictures | **picturesLibrary**<br> Also see [Files and folders in the Music, Pictures, and Videos libraries](quickstart-managing-folders-in-the-music-pictures-and-videos-libraries.md). | [KnownFolders.PicturesLibrary](/uwp/api/windows.storage.knownfolders.pictureslibrary) |
267-
| Videos | **videosLibrary**<br>Also see [Files and folders in the Music, Pictures, and Videos libraries](quickstart-managing-folders-in-the-music-pictures-and-videos-libraries.md). | [KnownFolders.VideosLibrary](/uwp/api/windows.storage.knownfolders.videoslibrary) |
268-
| Removable devices | **removableStorage** <br><br>Note You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. <br><br>Also see [Access the SD card](access-the-sd-card.md). | [KnownFolders.RemovableDevices](/uwp/api/windows.storage.knownfolders.removabledevices) |
265+
| Music | **musicLibrary** <br>Also see [Files and folders in the Music, Pictures, and Videos libraries](music-pictures-videos-libraries.md). | [KnownFolders.MusicLibrary](/uwp/api/windows.storage.knownfolders.musiclibrary) |
266+
| Pictures | **picturesLibrary**<br> Also see [Files and folders in the Music, Pictures, and Videos libraries](music-pictures-videos-libraries.md). | [KnownFolders.PicturesLibrary](/uwp/api/windows.storage.knownfolders.pictureslibrary) |
267+
| Videos | **videosLibrary**<br>Also see [Files and folders in the Music, Pictures, and Videos libraries](music-pictures-videos-libraries.md). | [KnownFolders.VideosLibrary](/uwp/api/windows.storage.knownfolders.videoslibrary) |
268+
| Removable devices | **removableStorage** <br><br>Note You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. <br><br>Also see [Access the SD card](/windows/uwp/files/access-the-sd-card). | [KnownFolders.RemovableDevices](/uwp/api/windows.storage.knownfolders.removabledevices) |
269269
| Homegroup libraries | At least one of the following capabilities is needed. <br>- **musicLibrary** <br>- **picturesLibrary** <br>- **videosLibrary** | [KnownFolders.HomeGroup](/uwp/api/windows.storage.knownfolders.homegroup) |
270270
| Media server devices (DLNA) | At least one of the following capabilities is needed. <br>- **musicLibrary** <br>- **picturesLibrary** <br>- **videosLibrary** | [KnownFolders.MediaServerDevices](/uwp/api/windows.storage.knownfolders.mediaserverdevices) |
271271
| Universal Naming Convention (UNC) folders | A combination of the following capabilities is needed. <br><br>The home and work networks capability: <br>- **privateNetworkClientServer** <br><br>And at least one internet and public networks capability: <br>- **internetClient** <br>- **internetClientServer** <br><br>And, if applicable, the domain credentials capability:<br>- **enterpriseAuthentication** <br><br>**Note:** You must add File Type Associations to your app manifest that declare specific file types that your app can access in this location. | Retrieve a folder using: <br>[StorageFolder.GetFolderFromPathAsync](/uwp/api/windows.storage.storagefolder.getfolderfrompathasync) <br><br>Retrieve a file using: <br>[StorageFile.GetFileFromPathAsync](/uwp/api/windows.storage.storagefile.getfilefrompathasync) |
@@ -286,4 +286,4 @@ This example adds the restricted **broadFileSystemAccess** capability. In additi
286286
```
287287

288288
> [!NOTE]
289-
> For a complete list of app capabilities, see [App capability declarations](../packaging/app-capability-declarations.md).
289+
> For a complete list of app capabilities, see [App capability declarations](/windows/uwp/packaging/app-capability-declarations).

hub/apps/develop/files/file-properties.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Get properties—top-level, basic, and extended—for a file represented by a [*
2424

2525
- **Understand async programming for Universal Windows Platform (UWP) apps**
2626

27-
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](../threading-async/call-asynchronous-apis-in-csharp-or-visual-basic.md). To learn how to write asynchronous apps in C++, see [Asynchronous programming in C++](../threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps.md).
27+
You can learn how to write asynchronous apps in C# or Visual Basic, see [Call asynchronous APIs in C# or Visual Basic](/windows/uwp/threading-async/call-asynchronous-apis-in-csharp-or-visual-basic). To learn how to write asynchronous apps in C++, see [Asynchronous programming in C++](/windows/uwp/threading-async/asynchronous-programming-in-cpp-universal-windows-platform-apps).
2828

2929
- **Access permissions to the location**
3030

0 commit comments

Comments
 (0)