JS FileReader、FileWriter 问题

在学习JS的File API时, 碰到了几个对象:File、FileList、 FileSystem、FileReader 等都能解析,但是 FileWriter 无法解析。我看有些代码示例是有这个 FileWriter 这个对象的 。
但是我在编译器 new FileWriter() 时 提示:未解析的类型 FileWriter 。这是怎么回事,还是JS本身就没有这个 FileWriter

还是我哪里设置出问题了?

JavaScript确实有一个FileWriter对象,用于在前端浏览器中将数据写入文件,但是它已经被废弃了,不再被推荐使用。在现代浏览器中,可以使用更加现代化的技术(例如Fetch API、XMLHttpRequest等)来实现文件的读写操作。

如果看到一些示例中使用了FileWriter对象,那么这些示例可能是一些比较老的代码或者使用了一些过时的技术。如果您想要在前端浏览器中实现文件的读写操作,可以考虑使用FileReader来读取文件,然后使用XMLHttpRequest或Fetch API来将数据发送到服务器或者将数据从服务器获取到并写入到文件中。

总之,建议使用现代浏览器提供的更加现代化的技术来实现文件的读写操作,避免使用过时的技术和废弃的对象。

编译?不是在浏览器上跑的代码吗,用什么环境编译的?

这个的确在 w3c 标准里有,但是浏览器是否支持,要看特定的浏览器,有一些是通过外挂特定的js实现的。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    在JavaScript中,确实没有FileWriter对象。FileWriter是一个用于写入文件的Web API,并没有被纳入JavaScript的内置对象中。这就是为什么你的编译器无法解析FileWriter对象的原因。

    如果你需要在浏览器环境下写入文件,可以使用File API提供的其他对象,比如File、Blob或者XMLHttpRequest。你可以使用这些对象进行文件的创建、写入和保存。

    下面是一个示例代码,展示了如何使用File API进行文件写入:

    // 创建一个新的File对象
    var file = new File(["Hello, World!"], "example.txt");
    
    // 创建一个FileWriter对象
    var fileWriter = new FileWriter();
    
    // 打开文件
    fileWriter.open(file);
    
    // 写入数据
    fileWriter.write("This is a test");
    
    // 保存文件
    fileWriter.save();
    

    需要注意的是,上述代码仅为示例,并不是在浏览器环境中可运行的代码。在实际开发中,你需要将文件写入的逻辑与其他相关的Web API(如FileReader、XMLHttpRequest)进行结合,来完成文件的写入操作。

    如果以上解答不能满足你的需求,请提供更多相关信息,我会尽力帮助你解决问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^