[英]How to pass the contents of a file as parameters in ProcessBuilder
我想將.dat文件的內容作為參數傳遞給ProcessBuilder 。 我該怎么做呢?
.dat文件包含:
08/10/12 4546.4 4644.5 6465.4 3 6.546 core dia,WH,C/C,no of steps,SF 0054.0 0005.0 005.00 0006.0 0006.0 066.00 0006.0 0006.0 006.00 leg width,yoke width,1/2 section step thk-Biggest size
我想在以下代碼中將文件的內容作為參數傳遞
ProcessBuilder processBuilder = new ProcessBuilder("E:\\MyFile.exe");
FileReader r = null;
try {
r = new FileReader(pathToDatFile);
char[] buf = new char[50000]; // Or whatever is a good max length.
int len = r.read(buf);
String content = new String(buf, 0, len);
String[] params = content.split(" ");
ArrayList<String> invocation = new ArrayList<String>();
invocation.add("E:\\MyFile.exe");
invocation.addAll(Arrays.asList(params));
ProcessBuilder processBuilder = new ProcessBuilder(invocation);
} catch (Exception e) {
// handle me!
} finally {
try { r.close(); } catch (Exception e) { /* handle me! */ }
}
另外:.dat文件采用哪種編碼? 如果不是ASCII,則必須通過FileInputStream-> InputStreamReader,以便可以在InputStreamReader中設置正確的編碼。 否則,您的代碼將使用碰巧在其上運行的計算機上的任何默認值,結果的結果會不一致!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.