2014-09-12 2 views
0

Я создаю программу инвентаризации для малого бизнеса моего папы, и у меня есть проблема с доступом к папке. Перед тем, как остальная часть программы запустится, она проверяет, существует ли папка с именем «Dos Amantes Inventory», и если она не создаст ее. Затем он проверяет, есть ли рабочая книга excel в этой папке, однако я столкнулся с ошибкой доступа, пытающейся заглянуть внутрь этой папки. Как исправить это? Я знаю, что это совсем не выглядит, и я уберу позже, просто хочу, чтобы он работал первым, потратил слишком много времени на это уже. Заранее спасибоCannont acces папка, созданная в программе

public static boolean goodToGo; 

//get user's desktop path 
public static String desktopPath = System.getProperty("user.home") + "/Desktop/Dos Amantes Inventory"; 

public static void main(String[] args) throws IOException{ 



    if(!new File(desktopPath).exists()){ 
     FileManager.createPath(); 

     if(!new File(desktopPath + "/" + Ingredients.workbookName).exists()){ 
      FileManager.createWorkbook(desktopPath); 
      goodToGo = true; 
     } else { 
      goodToGo = true; 
     } 
    }else if(!new File(desktopPath + "/" + Ingredients.workbookName).exists()){ 
     FileManager.createWorkbook(desktopPath); 
     goodToGo = true; 
    }else { 
     goodToGo = true; 
    } 

    if(goodToGo){ 
     start(); 
    } 

} 


//methods from FileManager class 
public static void createPath(){ 
    new File(Inventory.desktopPath + "/Dos Amantes Inventory").mkdirs(); 
} 

public static void createWorkbook(String filePath) throws IOException{ 
    WritableWorkbook workbook; 
    workbook = Workbook.createWorkbook(new File(filePath)); 
    WritableSheet wsheet = workbook.createSheet(Ingredients.workbookName, 0); 
} 
+0

В каком сценарии вы не «хорошо идти»? – Makoto

+0

Я попытался сделать цикл, который не допустил бы такой случай. Если нет папки или файла, сделайте оба, хорошо идти. Если есть папка, но нет файла, сделайте одно, хорошо идти. Если оба существуют, хорошо идти. –

ответ

0

Не похоже, что вы на самом деле создаете папку. Если это проблема, вы можете попробовать следующее:

File folder = new File(desktopPath); 
if (!folder.exists()) { 
    folder.mkdirs(); 
} 
+0

О, стреляй, забыл добавить методы класса FileManager –

Смежные вопросы