Java 从src/main/resources读取文件作为文件?

Java 从src/main/resources读取文件作为文件?,java,scala,Java,Scala,我的项目结构看起来像 src/main/resources/bluecoat_100_lines.log object Main { def main(args: Array[String]) { val system = ActorSystem("logprocessor") val file: File = new File("src/main/resources/bluecoat_100_lines.log") val logFile = LogFile(

我的项目结构看起来像

src/main/resources/bluecoat_100_lines.log
object Main {
  def main(args: Array[String]) {
    val system = ActorSystem("logprocessor")

    val file: File = new File("src/main/resources/bluecoat_100_lines.log")

    val logFile = LogFile(file, system)
    logFile.process()
  }
}
我的代码看起来像

src/main/resources/bluecoat_100_lines.log
object Main {
  def main(args: Array[String]) {
    val system = ActorSystem("logprocessor")

    val file: File = new File("src/main/resources/bluecoat_100_lines.log")

    val logFile = LogFile(file, system)
    logFile.process()
  }
}

目前我得到

Exception in thread "main" java.lang.AssertionError: assertion failed: log file must exists
    at scala.Predef$.assert(Predef.scala:165)
    at com.learner.processor.LogFile.process(LogFile.scala:24)
    at com.learner.logprocessor.Main$.main(Main.scala:15)
    at com.learner.logprocessor.Main.main(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
如何将it资源文件作为
文件
打开,而不是作为
输入流
作为
getClass.getResourceAsStream
打开

File f = new File("your file directory here.");

另外,您的
getClass.getResourceAsStream在哪里?您不知道;您使用流。这不是预期用途。资源应该是只读的,并且可能打包在jar之类的容器中。您可以这样存储原始文件,并使用Java getResource/getResourceAsStream将其复制到外部文件。用这个。