react-native-fs の使い方
「react-native-fs」の使い方をまとめました。
前回
1. react-native-fs
「react-native-fs」は、React Nativeアプリからネイティブファイルシステムにアクセスするためのライブラリです。
2. ファイルの読み書き
(1) React Nativeプロジェクトの生成。
npx react-native init my_app
cd my_app
(2) パッケージのインストール。
npm install react-native-fs
(3) コードの編集。
import React from 'react';
import { Button, View } from 'react-native';
import RNFS from 'react-native-fs';
// アプリ
const App = () => {
// ファイルの書き込み
const onWriteFile = async () => {
const path = RNFS.DocumentDirectoryPath + '/test.txt';
try {
await RNFS.writeFile(path, 'This is a test file', 'utf8');
console.log('Success');
} catch (e) {
console.log(e);
}
};
// ファイルの読み込み
const onReadFile = async () => {
const path = RNFS.DocumentDirectoryPath + '/test.txt';
try {
const contents = await RNFS.readFile(path, 'utf8');
console.log(contents);
} catch (e) {
console.log(e);
}
};
// ファイルの削除
const onDeleteFile = async () => {
const path = RNFS.DocumentDirectoryPath + '/test.txt';
try {
await RNFS.unlink(path);
console.log('Success');
} catch (e) {
console.log(e);
}
};
// ディレクトリの読み込み
const onReadDir = async () => {
const dirPath = RNFS.DocumentDirectoryPath;
try {
const result = await RNFS.readDir(dirPath);
result.forEach(file => {
console.log(`Name: ${file.name}, Path: ${file.path}`);
});
} catch (e) {
console.log(e);
}
};
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<View style={{marginVertical: 10}}>
<Button title="Write File" onPress={onWriteFile} />
</View>
<View style={{marginVertical: 10}}>
<Button title="Read File" onPress={onReadFile} />
</View>
<View style={{marginVertical: 10}}>
<Button title="Delete File" onPress={onDeleteFile} />
</View>
<View style={{marginVertical: 10}}>
<Button title="Read Directory" onPress={onReadDir} />
</View>
</View>
);
};
export default App;
(4) コードの実行。
npm start
【おまけ】 expo-file-system
React Nativeのファイルアクセスとしては、「expo-file-system」も提供されています。「expo-file-system」の機能は限定的なため、基本的に「react-native-fs」を使うで問題なさそうです。
次回
この記事が気に入ったらサポートをしてみませんか?