feat: update file read

This commit is contained in:
xkeyC 2025-12-04 16:27:43 +08:00
parent f3fab62291
commit aaa97429b9
2 changed files with 11 additions and 9 deletions

View File

@ -1,4 +1,5 @@
import 'dart:async'; import 'dart:async';
import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:fluent_ui/fluent_ui.dart'; import 'package:fluent_ui/fluent_ui.dart';
@ -225,7 +226,7 @@ class AdvancedLocalizationUIModel extends _$AdvancedLocalizationUIModel {
if (data.length > 3 && data[0] == 0xEF && data[1] == 0xBB && data[2] == 0xBF) { if (data.length > 3 && data[0] == 0xEF && data[1] == 0xBB && data[2] == 0xBF) {
data = data.sublist(3); data = data.sublist(3);
} }
final iniData = String.fromCharCodes(data); final iniData = utf8.decode(data, allowMalformed: true);
return iniData; return iniData;
} catch (e) { } catch (e) {
final errorMessage = e.toString(); final errorMessage = e.toString();

View File

@ -1,3 +1,4 @@
import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:file_sizes/file_sizes.dart'; import 'package:file_sizes/file_sizes.dart';
@ -244,14 +245,14 @@ class _TextTempWidget extends HookConsumerWidget {
final textData = useState<String?>(null); final textData = useState<String?>(null);
useEffect(() { useEffect(() {
File(filePath) File(filePath).readAsBytes().then((data) {
.readAsString() // BOM
.then((value) { if (data.length > 3 && data[0] == 0xEF && data[1] == 0xBB && data[2] == 0xBF) {
textData.value = value; data = data.sublist(3);
}) }
.catchError((err) { final text = utf8.decode(data, allowMalformed: true);
textData.value = "Error: $err"; textData.value = text;
}); });
return null; return null;
}, const []); }, const []);