尝试通过执行诸如读取输入之类的基本功能来练习Java。
我正试图解析在以下内容中找到的movies-sample.txt:
C:\University\BigDataManagement\Data-Mining\hw1\src\main\resources\movies-sample.txt试图从以下位置到达movies-sample.txt
C:\University\BigDataManagement\Data-Mining\hw1\src\main\java
\univ\bigdata\course\MoviesReviewsQueryRunner.java使用这个答案找到了here如何逐行解析一个大文件。
File file = new File("../../../../../resources/movies-sample.txt");我得到了以下错误:
系统找不到指定的路径。
考虑到以上两条路,我做错了什么?
发布于 2018-03-16 08:23:37
如果它是一个web应用程序,那么resources文件夹就是您的根元素,否则它将是注释中提到的src文件夹。
在这里,当您正在编写独立的Java程序时,当您的文件被保存在resources文件夹中时,您可以使用CLassLoader将文件作为流读取。
这应该是您的代码:
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("movies-sample.txt");然后,您将能够逐行读取is流。
发布于 2018-03-16 08:34:28
如果直接从命令行运行程序,则路径必须与当前目录相关。
如果从IDE运行程序,那么runnin程序的当前目录取决于IDE及其配置方式。
您可以使用System.getProperty("user.dir")确定当前目录是什么
无论如何,在应用程序中对路径进行硬编码总是一件坏事,因为您无法确保运行从何处启动。以下任一项:
https://stackoverflow.com/questions/49315804
复制相似问题