sqlite_file 0.1.0
sqlite_file: ^0.1.0 copied to clipboard
Implements package:file filesystem abstractions over Sqlite.
import 'dart:io' as io;
import 'dart:typed_data';
import 'package:sqlite_file/sqlite_file.dart';
void main() {
final fs = SqliteFileSystem();
final dir = fs.directory('/home/user');
dir.createSync(recursive: true);
final subdir = dir.childDirectory('documents');
subdir.createSync();
final file = subdir.childFile('test.txt');
file.writeAsStringSync('Hello, SQLite FileSystem!\nThis is a test file.');
final content = file.readAsStringSync();
print('File content: $content');
print('File information...');
print('File exists: ${file.existsSync()}');
print('File size: ${file.lengthSync()} bytes');
print('Last modified: ${file.lastModifiedSync()}');
print('Listing directory contents...');
final files = subdir.listSync();
for (final entity in files) {
print(' - ${entity.path} (${entity.runtimeType})');
}
print('Writing binary data...');
final binaryFile = subdir.childFile('binary.dat');
final binaryData = Uint8List.fromList([
0x48,
0x65,
0x6C,
0x6C,
0x6F,
]); // "Hello" in ASCII
binaryFile.writeAsBytesSync(binaryData);
final readBinary = binaryFile.readAsBytesSync();
print('Binary data: $readBinary');
print('Appending to file...');
file.writeAsStringSync('\nAppended line!', mode: io.FileMode.append);
print('Updated content: ${file.readAsStringSync()}');
print('Renaming file...');
final renamedFile = file.renameSync('/home/user/documents/renamed.txt');
print('File renamed to: ${renamedFile.path}');
print('Original file exists: ${file.existsSync()}');
print('Renamed file exists: ${renamedFile.existsSync()}');
print('Directory listing with recursive...');
final rootFiles = fs.directory('/home').listSync(recursive: true);
for (final entity in rootFiles) {
print(' - ${entity.path} (${entity.runtimeType})');
}
print('Copying file...');
final copiedFile = renamedFile.copySync('/home/user/documents/copy.txt');
print('File copied to: ${copiedFile.path}');
print('Deleting files...');
copiedFile.deleteSync();
binaryFile.deleteSync();
print('Files deleted');
print('Final directory listing...');
final finalFiles = subdir.listSync();
for (final entity in finalFiles) {
print(' - ${entity.path} (${entity.runtimeType})');
}
}