創建的文件進行任何操作,這就是我想實現: 運行Java程序的批處理文件。批處理在特定文件夾中創建一個新文件,比如文件夾'A'。一旦創建新文件,JAVA程序將新創建的文件從文件夾'A'移動到文件夾'B'。無法通過批量
以下是代碼片段: 新文件被文件夾中的「A」發佈:
// Run a batch that creates a file
String[] cmd = new String[]{"cmd", "/C", "start /min" + batchFilePath + batchFileName};
Process proc = Runtime.getRuntime().exec(cmd);
proc.waitFor();
// Command in the batch file
dir c:\ > C:\Chen_Med\EDICron\EDIOUT\test.edi
exit
// Move the file created by batch
boolean result2= ediOutFile.renameTo(new File(processedFolder, ediOutFile.getName()));
這是當我運行上面的代碼會發生什麼。但是,新創建的文件不會移動到文件夾「B」。
分析:
有一個在上面的代碼中沒有語法問題。 我試過移動文件的替代方法。即,將文件夾「A」中的文件讀寫到文件夾「B」,然後從文件夾「A」中刪除該文件。新文件在文件夾'B'中創建,但文件不會從文件夾'B'中刪除。 當我運行另一個試圖移動文件的程序時,在執行上面的程序之後,它會起作用。也就是說,運行時對文件進行控制似乎存在問題。
請幫我解決。我浪費了整整一天的時間,試圖找出解決方案:(
如果您使用Java 7+:http://docs.oracle.com/javase/tu torial /本質/ IO/move.html – assylias