public void changeRule(String parameters){
        //Parse Input
        String[] parameterSplit =  parameters.split(" ", 2);
        String fileName = parameterSplit[0];
        String rules = parameterSplit[1];
        rules = rules.substring(1, rules.length()-1);
        String ruleSplit[] = rules.split("\\|");

        //Determine if file or folder
        Pattern filePattern = Pattern.compile("(.txt)$");
        Matcher fileMatcher = filePattern.matcher(fileName);
        Boolean isFile = false;
        if(fileMatcher.find()){
            isFile = true;
        }

        //Determine if changing owner or adding permission
        Pattern ownerLine = Pattern.compile("^(Owner:)");
        Matcher ownerMatcher;
        Pattern permissionPattern = Pattern.compile("^(ACE:)");
        Matcher permissionMatcher;


        for(String rule: ruleSplit){
            rule = rule.trim();
            ownerMatcher = ownerLine.matcher(rule);
            permissionMatcher = permissionPattern.matcher(rule);
            if(ownerMatcher.find()){
                if(isFile){
                    files.get(fileName).setOwner(rule.split(" ")[1]);
                }
                else{
                    directories.get(fileName).setOwner(rule.split(" ")[1]);
                }
            }
            else if(permissionMatcher.find()){
                String permissionSplit[] = rule.split(" ");
                if(isFile){
                    if(!files.containsKey(fileName)){
                        ArrayList<Permission> newPermissions = new ArrayList<>();
                        newPermissions.add(new Permission(permissionSplit[1], permissionSplit[2], permissionSplit[3]));
                        files.put(fileName,new File(fileName, getDefaultUser(), newPermissions));
                    }
                    else{
                        files.get(fileName).appendPermission(new Permission(permissionSplit[1], permissionSplit[2], permissionSplit[3]));
                    }
                }
                else{
                    if(!directories.containsKey(fileName)){
                        ArrayList<Permission> newPermissions = new ArrayList<>();
                        newPermissions.add(new Permission(permissionSplit[1], permissionSplit[2], permissionSplit[3]));
                        directories.put(fileName, new Directory(fileName, getDefaultUser(), newPermissions));
                    }
                    else{
                        directories.get(fileName).appendPermission(new Permission(permissionSplit[1], permissionSplit[2], permissionSplit[3]));

                    }
                }
            }
            else{
                System.out.println("Improper Format for: " + rule);
            }
        }



    }