|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2004
Messaggi: 60
|
Problemi con JAVA
salve ho un piccolo problema con java ho creato un codice in grado di verificare se un dato Ibutton ha l'accesso o meno ad una porta...
il codice si presenta nel seguente modo: riceve come parametri IDutente e IDPorta e ritorna un boolean...true se l'utente ha l'accesso false se l'utente non ha l'accesso... la mia funzione dovrebbe leggere un file chiamato accesso.txt che e strutturato nel seguente modo: IDPORTA1;IDPORTA2;... IDUtente1;IDUtente2;IDutente3;... 255;0;255; La terza riga del file equivale al permesso dell'utente...le porte comandate da TINI sono 8 (io ora provo il file su una porta sola...) quindi evidentemente se l'utente1 ha come permesso 255 potra entrare in tutte le porte...mentre se il permesso equivale a 0 non potra entrare in nessuna porta e via di seguito...il problema e che qls permesso io metta nella terza riga la mia funzione ritorna TRUE... ce qlc che sa perche??? potete aiutarmi??? non so piu cosa fare.... ![]() import java.lang.*; import java.util.*; import java.io.*; import java.util.StringTokenizer; public class GestioneAccessi{ private static String FileName; String s=""; BufferedReader input = null; int posporta; int posutente; boolean accessoOK = false; public static void main (String []args){ int posporta; int posutente; if (verificaAccessi(args[0], args[1])) { System.out.println("puo entrare"); } else { System.out.println(" non puo entrare"); } } public static String getAccessFile(){ return(FileName); } public static void setAccessFile(String FileName){ FileName = "accesso.txt"; } public static boolean verificaAccessi(String IDUtente, String IDPorta){ int mask; int accesso; int posporta; int posutente; String token="-1000"; boolean accessoOK = false; int posaccesso = 0; String s=""; BufferedReader input = null; try{ input = new BufferedReader(new FileReader("accesso.txt")); } catch(FileNotFoundException E1) { E1.printStackTrace(); } try{ s = input.readLine(); } catch(Exception E2) { E2.printStackTrace(); } posporta = Fposizione(IDPorta,s); try{ s = input.readLine(); } catch(Exception E2) { E2.printStackTrace(); } posutente = Fposizione(IDUtente,s); try{ s = input.readLine(); } catch(Exception E2) { E2.printStackTrace(); } System.out.println("prova s1: "+s); StringTokenizer st = new StringTokenizer(s); System.out.println("prova s2: "+s); int i=0; while (st.hasMoreTokens() && i <= posutente) { token = st.nextToken(";"); i++; } int accCode = Integer.parseInt(token); System.out.println("Token: "+token); System.out.println("Codice accesso: "+accCode); System.out.println("Pos utente "+posutente); System.out.println("Pos porta "+posporta); accessoOK = (accCode & (0x1 << posporta)) != 0; return accessoOK; } public static int Fposizione(String IDButton, String s){ int i = 0; StringTokenizer st = new StringTokenizer(s); while (st.hasMoreTokens()) { String token = st.nextToken(";"); if(token.equals(IDButton)){ return i; } else{ i++; } } return -1; } } FILE ACCESSO.TXT 5B0000018A1B5409; 0E0000008F33A802;0B00000034D4D602; 0;255;
__________________
anna182 vivi come se dovessi morire domani, pensa come se non dovessi morire mai!!! ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
a me ritorna "non puo' entrare" per il primo utente e "puo' entrare" per il secondo...
ho sbagliato io a provare? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:12.