# Access Files Across Devices The distributed file system provides cross-device file access capabilities for applications. For the same application installed on multiple devices that form a Super Device, you can use [ohos.file.fs](app-file-access.md) APIs to implement read and write of the files in the application's distributed directory (**/data/storage/el2/distributedfiles/**). For example, device A and device B are installed with the same application. After device A and device B are connected to form a Super Device, the application on device A can access the files in the distributed directory of the same application on Device B. ## How to Develop 1. Connect the devices to form a Super Device. Connect the devices to a LAN, and complete authentication of the devices. The devices must have the same account number. 2. Implement cross-device access to the files of the same application. Place the files in the **distributedfiles/** directory of the application sandbox to implement access from difference devices. For example, create a file in the **distributedfiles/** directory on device A and write data to the file. For details about how to obtain the application context, see [Obtaining the Context of UIAbility](../application-models/uiability-usage.md#obtaining-the-context-of-uiability). ```ts import fs from '@ohos.file.fs'; import common from '@ohos.app.ability.common'; import { BusinessError } from '@ohos.base'; let context = getContext(this) as common.UIAbilityContext; // Obtain the UIAbilityContext of device A. let pathDir: string = context.distributedFilesDir; // Obtain the file path of the distributed directory. let filePath: string = pathDir + '/test.txt'; try { // Create a file in the distributed directory. let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); console.info('Succeeded in createing.'); // Write data to the file. fs.writeSync(file.fd, 'content'); // Close the file. fs.closeSync(file.fd); } catch (error) { let err: BusinessError = error as BusinessError; console.error(`Failed to openSync / writeSync / closeSync. Code: ${err.code}, message: ${err.message}`); } ``` Read the file on device B. ```ts import fs from '@ohos.file.fs'; import common from '@ohos.app.ability.common'; import buffer from '@ohos.buffer'; import { BusinessError } from '@ohos.base'; let context = getContext(this) as common.UIAbilityContext; // Obtain the UIAbilityContext of device B. let pathDir: string = context.distributedFilesDir; // Obtain the file path of the distributed directory. let filePath: string = pathDir + '/test.txt'; try { // Open the file in the distributed directory. let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE); // Set the buffer for receiving the read data. let arrayBuffer = new ArrayBuffer(4096); // Read the file. The return value is the number of read bytes. class Option { public offset: number = 0; public length: number; } let option = new Option(); option.length = arrayBuffer.byteLength; let num = fs.readSync(file.fd, arrayBuffer, option); // Print the read data. let buf = buffer.from(arrayBuffer, 0, num); console.info('read result: ' + buf.toString()); } catch (error) { let err: BusinessError = error as BusinessError; console.error(`Failed to openSync / readSync. Code: ${err.code}, message: ${err.message}`); } ```