嗨,我有一个javaeclipse项目,我想从命令行执行。我制作了一个jar并从命令行运行它。
我知道如何使用getresourceasstream访问jar中的文件。
前任:
InputStream is = Extractor.class.getResourceAsStream("CompanyNameListModified.txt");
BufferedReader in=new BufferedReader(new InputStreamReader(is));`
我现在想知道的是如何从jar访问目录。
目前:
Runtime.getRuntime().exec("hadoop fs -get /tmp/stockmarkets/ localfile");
File dir = new File("/home/hadoop/project/localfile");`
这会产生filenotfoundexception。
我想做的是
File[] directoryListing = dir.listFiles();
if (directoryListing != null) {
for (File child : directoryListing) {
....
}
}
因此,转到目录并在该目录中的每个文件上循环。。我该怎么做才能让它适合我的jar。?
所以我试了这个:
Runtime.getRuntime().exec("hadoop fs -get /tmp/stockmarkets/ localfile");
File dir =new File(Extractor.class.getResource("/home/hadoop/project/localfile").getPath());
错误:
Exception in thread "main" java.lang.NullPointerException
我检查了我的目录,它确实有本地文件目录。
1条答案
按热度按时间nnt7mjpx1#
必须提供一个文件系统路径作为属性
或命令行参数,然后在调用hadoop和
File
宣言。