你好我有一个问题,这花了我好几个小时, 但我无法解决它。 我的代码:
public static void main(String[] args) {
FileTester ft = new FileTester();
boolean flag = false;
try {
flag = ft.checkFile("configuration/config.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if(!flag){
JOptionPane.showMessageDialog(null, "please edit configuration/config.txt to continue!");
System.exit(0);
}
UserInterface ui = new UserInterface();
ui.setVisible(true);
}
public class FileTester{
public boolean checkFile(String file) throws FileNotFoundException{
String zeile = null;
String path = getDirectory();
int j = 0;
for(int i = 0; i < path.length(); i++){
char c = path.charAt(i);
if(c == '.'){
j = i;
break;
}
}
path = path.substring(0, j-6);
System.out.println(path);
file = path + file;
System.out.println(file);
int i = 0;
BufferedReader in = new BufferedReader(new FileReader(file));
try {
while ((zeile = in.readLine()) != null) {
if(zeile.startsWith("#")){
}else{
i++;
System.out.println(zeile);
}
}
} catch (IOException e) {
e.printStackTrace();
return false;
}
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
if(i >= 1){
return true;
}
return false;
}
String getDirectory(){
try {
return String.valueOf(MainClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
} catch (URISyntaxException e) {
e.printStackTrace();
return "false";
}
}
}
与我的smartC.jar文件夹在同一个文件夹中是一个子文件夹“配置”,并在其中输入我的“config.txt”文件,我想阅读。 我编译了我的程序并在Windows7和Linux Ubuntu / Lubuntu上运行它 每次我运行它,它都会打印出来的路径:
Windows:
C:\...\Desktop\smartC\configuration\config.txt
然后抛出FileNotFoundExeption。
有人有个好主意吗?
答案 0 :(得分:0)
我自己吹了,错误如下: 我的程序试图打开config.txt,但文件名为“config.txt”。 因此,该程序试图打开“config.txt.txt”,这很愚蠢。