【问题标题】:Flutter: exporting file to phone storageFlutter:将文件导出到手机存储
【发布时间】:2021-07-03 19:45:14
【问题描述】:

我正在尝试在我的应用程序中将 txt 文件导出为 srt(以纯文本形式编写),并且在我看到指定文件夹中名称正确的 srt 但这些文件为 0B 和我不确定哪里没有完全发挥作用?

  void add() async {
    fileName = _fileNameCon.text.toString();
    print("filename ---------> " + fileName);
    newSubFile(fileName);
    setState(() {
      _fileNameCon.clear();
      srt = "";
      subnumber = 1;
      stopWatch.reset();
    });
  }

  void newSubFile(String title) async {
    try {
      // this is an android specific directory
      Directory directory = await getExternalStorageDirectory();
      final path = directory.path;
      File newSrt = await File('$path/' + title + ".srt").create();
      var writer = newSrt.openWrite();
      print("----attempting to write to $path/$title----");
      writer.write(srt);
      writer.close();
      print("----closing----");
    } catch (e) {
      print(e);
    }
  }

【问题讨论】:

  • 你应该调用 writer.flush();在 writer.close(); 之前

标签: flutter


【解决方案1】:

进口

import 'dart:io'
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';

例子:

Directory dir = await getExternalStorageDirectory();
final file = File(join('${dir.parent}/sub folder',"Output.srt"));
await file.writeAsString(subtitles)

【讨论】:

    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2021-08-05
    • 2019-08-10
    相关资源
    最近更新 更多