加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Scala中使用import scala.reflect.io.File或java.io.File更好

发布时间:2020-12-16 18:37:30 所属栏目:安全 来源:网络整理
导读:我看到了 scala.reflect.io.File类,这应该有助于文件操作吗?我应该更喜欢使用它而不是 java.io.File吗?这堂课的目的是什么? 解决方法 当然,你也不应该使用java.nio.file. 如果您想使用花哨的运算符“增强”该API,请使用扩展方法.该代码的作者在邮件列表上
我看到了 scala.reflect.io.File类,这应该有助于文件操作吗?我应该更喜欢使用它而不是 java.io.File吗?这堂课的目的是什么?

解决方法

当然,你也不应该使用java.nio.file.

如果您想使用花哨的运算符“增强”该API,请使用扩展方法.该代码的作者在邮件列表上说了很多.被困在Java 6上被认为是不幸的.

您指向的包被拉入scala-reflect.jar以支持反射,但是关于其不受支持的状态的警告无处不在.

PositionFile抽象由Position使用,它有一个源文件.您从中获取的“文件”是java.io.File,但AbstractFile具有采用reflect.io.Path抽象(使用文件和目录子类型)的工厂方法.所以所有代码仍然打包在一起.

我必须停下来思考每次AbstractFile和File穿过我的路径(双关语警报).我曾经有一个紫色的“抽象文件,就像,与文件”完全不同的T恤,但它多次洗涤时磨损了.

在背面它说,“位置与io.Position无关.”

这是触及api.Position的警告,当然它在scaladoc中面向用户;注意它说它是一个“Java文件”:

/** Java file corresponding to the source file of this position.
   *
   *  The return type is `scala.reflect.io.AbstractFile`,which belongs to an experimental part of Scala reflection.
   *  It should not be used unless you know what you are doing. In subsequent releases,this API will be refined
   *  and exposed as a part of scala.reflect.api.
   *
   *  @group Common
   */
  def source: scala.reflect.internal.util.SourceFile

为了回答你的第一个问题,我认为可以肯定地说,是的,它应该有所帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读