// Dividend Limit check or increase the Dividend
if (dival == 10) {
writer.println("Divident has reached it Limit !");
i++;
// update the file name
String upath = "channel_" + i;
System.out.println(path);
// find channel_1 and replace with the updated path
if (path.contains("channel_1")) {
path = "D:/File Compression/Data/low_freq/low_freq/house_1/"
+ upath + ".dat";
} else {
JOptionPane.showMessageDialog(null, "Invalid File Choosen");
System.exit(0);
}
dival = 10;
} else {
dival = dival + 10;
writer.println("Dividen:" + dival);
}
這些行是遞歸方法。第一次給出了正確的道路:文件路徑問題: - >
D:/File Compression/Data/low_freq/low_freq/house_1/channel_2.dat
但在第二把它翻轉正斜槓反斜槓:
D:\File Compression\Data\low_freq\low_freq\house_1\channel_1.dat
,如果我不使用狀態下正常工作。
if(path.contains("channel_"))
您發佈的代碼不會出現此問題。 '路徑'從哪裏來? NB永遠不需要在Java文件名中使用反斜槓。 – EJP
@JJP路徑來自String路徑是靜態的,它在其他類中,所以我從類名稱調用它並在此處使用該路徑。 這裏是代碼 '公共無效的actionPerformed(ActionEvent的爲arg0){ \t \t \t \t JFileChooser所選擇器=新的JFileChooser(); \t \t \t \t 的FileNameExtensionFilter濾波器=新的FileNameExtensionFilter( \t \t \t \t \t \t 「數據文件」, 「DAT」); chooser.setFileFilter(filter); int returnVal = chooser.showOpenDialog(getParent());如果(返回值== JFileChooser.APPROVE_OPTION){ path = chooser.getSelectedFile()。getAbsolutePath(); \t \t \t \t} \t \t \t}' – Waqas