在測試類用於主的方法,所述參數被設置爲一個文件名(該文件包含整數數據)文件名作爲參數傳遞給主方法
這裏是代碼片段:
static Main main = new Main();
static
{
String[] args = {"../data/filename.txt"};
main.main(args);
}
由於文件名作爲參數傳遞給主方法,因此文件名的類型爲String []。這個文件需要被解析(或者其他可能的方法)來獲取信息。爲此,我使用掃描儀逐行查看。
public static void main(String[] args)
{
List<Integer> left = new ArrayList();
List<Integer> right = new ArrayList();
try {
Files.lines(Paths.get("filename.txt"))
.map(l -> l.split("\\s"))
.forEachOrdered(l -> {
left.add(Integer.parseInt(l[0]));
right.add(Integer.parseInt(l[1]));
});
} catch (NumberFormatException | IOException e) {
e.printStackTrace();
}
int[] leftArray = left.stream().mapToInt(Integer::intValue).toArray();
int[] rightArray = right.stream().mapToInt(Integer::intValue).toArray();
}
這裏的問題是,我已經硬編碼的文件名到Files.lines(Paths.get(「FILENAME.TXT」)),我不想要的。
由於文件名是作爲參數傳遞的,並且它的類型是String [],所以我不能使用args作爲文件掃描器的參數。我的問題是,我怎麼能從String []轉換爲String? OR有沒有更簡單的方法來解析信息? (請記住,文件名將作爲主參數)