【问题标题】:java Constructor of class Printwriter类Printwriter的java构造函数
【发布时间】:2015-08-21 14:35:14
【问题描述】:

在我看到的一个示例代码中,有这样一行:

PrintWriter pw = new PrintWriter("$$$temp$$$.$$$");

在这种情况下,"$" 符号是什么意思?是不是类似于通配符?

【问题讨论】:

  • 我不这么认为,你能把示例的链接放上来
  • 寻找这样一个答案的方法是查看文档,找到与参数类型最匹配的方法或构造函数(在这种情况下,构造函数接受字符串)并查看如果提到 $ 字符具有任何特殊含义。
  • @Bzil 这是我老师的例子,所以没有链接。
  • @RealSkeptic 我检查了,但是,据我所知,没有提到任何关于 $ 的内容。

标签: java wildcard printwriter


【解决方案1】:

$ 没有特别的意义,这就是为什么它似乎在这里被用来指定一个临时文件名。文件系统上可能不存在具有此名称的文件。如果您尝试创建临时文件,请查看createTempFile

【讨论】:

  • 但是为什么在这个例子中使用了 $?如果是这样会不会一样:PrintWriter pw = new PrintWriter("temp");
  • 显然有 2 个不同的文件名 - 原始文件名可能是为了避免写入现有文件(可能是你的 teacher intended ;))
  • 感谢您的回答。只是为了确保我的理解是否正确:所以添加 $ 是为了避免写入名为“temp”的文件应该存在吗?
【解决方案2】:

它是构造函数PrintWriter(String filename),这意味着"$$$temp$$$.$$$" 是某种类型的文件名。

【讨论】:

  • 在这种情况下,“$$$temp$$$.$$$”和“temp”有什么区别?
  • 无。它们都是字符串,根据它们的用法,应该指向同名的文件。如果他们不这样做,那么代码将引发一个异常,抱怨它找不到指定的文件。
猜你喜欢
  • 1970-01-01
  • 2014-01-23
  • 2012-03-24
  • 1970-01-01
  • 2018-02-28
  • 2021-03-12
  • 1970-01-01
  • 2015-03-20
  • 2014-02-04
相关资源
最近更新 更多