Programm lässt sich nicht starten!

Lucaaa

Bekanntes Mitglied
Hallo!
Folgendes Problem:
Wenn ich mein Programm in Eclipse starte, funktioniert alles wunderbar.
Wenn ich es allerdings Exportiere, bekomme ich folgenden Fehler beim Start:
Code:
Exception in thread "main" java.lang.IllegalArgumentException: URI is not hierarchical
        at java.io.File.<init>(Unknown Source)
        at com.ludevstudio.passwordmanager.ItemManager.load(ItemManager.java:82)
        at com.ludevstudio.passwordmanager.ManagerPanel.<init>(ManagerPanel.java:35)
        at com.ludevstudio.passwordmanager.MainPane.<init>(MainPane.java:26)
        at com.ludevstudio.passwordmanager.MainFrame.initComponents(MainFrame.java:54)
        at com.ludevstudio.passwordmanager.MainFrame.<init>(MainFrame.java:38)
        at com.ludevstudio.passwordmanager.Main.main(Main.java:9)

Java:
package com.ludevstudio.passwordmanager;

import java.awt.Component;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.file.StandardOpenOption;
import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.prefs.Preferences;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.CipherOutputStream;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.SecretKeySpec;
import javax.swing.JPanel;
public class ItemManager {
 
 JPanel panel = ManagerPanel.panel;
 
 
 ArrayList<String[]> data;
 
 
 
 
 public void save() {
  URI fileUri = null;
  try {
   fileUri = getClass().getClassLoader().getResource("save.txt").toURI();
  } catch (URISyntaxException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  Component[] comps =  ManagerPanel.panel.getComponents();
  ItemPanel[] items = new ItemPanel[comps.length];
  
  for(int i = 0; i<items.length; i++) {
   items[i] = (ItemPanel) comps[i];
  }
  
  
   try (FileOutputStream fos = new FileOutputStream(new File(fileUri))) {
        for (ItemPanel i : items) {
          String saveData =  i.getProvider()+ "=" + i.getAccount() + "=" + i.getPassword()  + "=" + i.getIconMode()  + "=" + i.getIconSrc()+  System.getProperty("line.separator");
          fos.write(saveData.getBytes());
        }
   } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
 
 public void load() {
  
    
    try {
     File file = new File(getClass().getClassLoader().getResource("save.txt").toURI());
         BufferedReader reader = new BufferedReader(new FileReader(file));
   
   // Get number of saved items
   
   int count = 0;
   BufferedReader reader2 = new BufferedReader(new FileReader(file));
   
   
   while (reader2.readLine()!=null) {
    count++;
   }
   
   
   ItemPanel[] items = new ItemPanel[count];
   
   
   for(ItemPanel item : items) {
          String savedData = reader.readLine();
          String[] args = savedData.split("=");
          String provider = args[0], account = args[1], password = args[2], iconMode = args[3], iconSrc = args[4];
          item = new ItemPanel(provider, account, password, iconMode, iconSrc);
          ManagerPanel.panel.add(item);
         
   }      
   
  reader.close();
  reader2.close();
  } catch (FileNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (URISyntaxException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
 
 }
 
public void delete(ItemPanel element) {
 ManagerPanel.panel.remove(element);
 
 encryptFile("Deleted Element succesfully");
}

 public void encryptFile(String text) {
  String password = "wassermelonewassermelone";
  SecretKeySpec keySpec = new SecretKeySpec(password.getBytes(), "AES");
  
  
  try {
   Cipher cipher = Cipher.getInstance("AES");
   cipher.init(Cipher.ENCRYPT_MODE, keySpec);
   FileOutputStream fos = new FileOutputStream(new File("save2.txt"));
   fos.write(cipher.doFinal(text.getBytes()));
    fos.flush();
    fos.close();
   
  } catch (NoSuchAlgorithmException | NoSuchPaddingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (InvalidKeyException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IllegalBlockSizeException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (BadPaddingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 
  
 }


}

Hoffe mir kann wer helfen.
 

Neue Themen


Zurück
Oben