Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Scala中导入.txt文件_Scala_Import - Fatal编程技术网

如何在Scala中导入.txt文件

如何在Scala中导入.txt文件,scala,import,Scala,Import,您好,我是编程新手,如何导入.txt文件?我的代码找不到该文件,是否需要将其放入特定目录 我的代码: object Zettel01 extends App { import scala.io.Source object Suchtest { val gesch = Source.fromFile("DieUnendlicheGeschichte.txt").getLines() for (w <- gesch) println(w) } } 对象Zettel01扩展应用程序{

您好,我是编程新手,如何导入.txt文件?我的代码找不到该文件,是否需要将其放入特定目录

我的代码:

object Zettel01 extends App {
import scala.io.Source

object Suchtest {
  val gesch = Source.fromFile("DieUnendlicheGeschichte.txt").getLines()
  for (w <- gesch) println(w)
}
}
对象Zettel01扩展应用程序{
导入scala.io.Source
反对这样的测试{
val gesch=Source.fromFile(“dieunnendlichegeschichte.txt”).getLines()

因为(w在计算机上运行的每个Scala程序最终都是一个
java
进程。这个进程将有一个“工作目录”,就像计算机上的每个进程一样。默认情况下,工作目录是启动它的进程的工作目录,即启动程序时shell或命令行解释器的当前目录

现在,这意味着了解如何准确启动程序非常重要。如果您使用命令行并以
java mycolprogram
的方式启动程序,那么shell的当前目录将成为程序的工作目录。如果您使用Eclipse或IntelliJ IDEA等IDE,则通常使用IDE项目的roject文件夹作为它们启动的进程的工作目录

有一种简单的方法可以快速找到它:您始终可以打印出
新java.io.File(“.”.getAbsolutePath()
)的结果。这将打印到工作目录的完整路径。例如,您可以编写如下的小Scala程序:

object PrintWorkingDirectory extends App {
  println(new java.io.File(".").getAbsolutePath())
}
然后启动它。在控制台上,您应该找到程序工作目录的完整路径。如果您将名为“dieunnedlichegeschichte.txt”的文件放在该目录中,您的程序将在该文件名下找到该文件

当然,您不必将所有文件转储到同一个目录中。您可以创建子目录以更好地组织文件。例如,您可以将文件放置在类似“resources/text/dieunnedlichegeschichte.txt”的路径中

最后,我想指出,还有一种不同的方法可以将资源文件与程序关联并加载它们将文本、图像、CSV文件、XML文件等资源整合到一个大文件中。这将是一个JAR文件。然后,您可以使用
ClassLoader
通过URL访问JAR文件中的资源


详细解释该过程超出了这个问题的范围;这只是删除了几个流行语,您(或其他读者)可以搜索这些流行语,以防他们想查找更详细的过程。

System.getProperty(“user.dir”)还可以告诉您工作目录。

嗯……您知道……在全球范围内,如果您将您的地址指定为“Flat No-10”,那么就没有人能找到您。您必须提供完整的地址。同样,您还必须提供文件的完整路径。类似于-“c:\Users\yourname\documents\YourFileName.txt”尝试了,仍然没有运气找到文件…除了我发现的每一个示例代码导入。TXT文件从不使用任何路径,它们总是只给出文件名。我很难理解下行投票。当然,这不是一个火箭科学层面的问题,但没有理由对作者傲慢。我认为这是一个有效的Q。谢谢。因此,我投了更高的票来补偿。@flurry137很高兴知道它有帮助。如果你认为这符合问题的答案,请不要忘记将我的答案标记为“答案”(绿色勾号)。