Jump to content
AMB

duvida no codigo

Recommended Posts

AMB

Bom dia eu tenho o seguinte código:

for(File arquivo : lista) {  
	    
	           FileReader reader = new FileReader(arquivo);  // lê ficheiro
	             BufferedReader leitor = new BufferedReader(reader);  
	       
	            while ((linha = leitor.readLine()) != null) {  
	            	 StringTokenizer st;  
	                 st = new StringTokenizer(linha, "\t");   //lê o ficheiro linha a linha
	                   
	                   String t = "<Lua>"; 
	                   
		         Pattern p = Pattern.compile(t);  
		         Matcher m = p.matcher(linha); //procura string t e devolve a linha caso encontre
		           
		     
			      
			         while (m.find()){
		        	String x = arquivo.getPath(); // mostra o nome do ficheiro onde está a palavra
		            System.out.println("" + x);  
		            System.out.println(m.group());

Eu anteriormente queria apenas encontrar os ficheiros que continham "Lua" mas agora queria acrescentar na procura também os que contem o "Sol" ...

Como posso fazer isso??

Obrigada

Share this post


Link to post
Share on other sites
Knitter

Usando um novo padrão? Além do padrão actual, acrescentar mais um é a forma mais simples, não é necessariamente a melhor mas é a mais simples. Ou alteras a tua expressão regular para usar grupos e para usar operações lógicas, neste caso um OU. Vê a documentação de expressões regulares em Java que tens lá exemplos para este tipo de problema.

Share this post


Link to post
Share on other sites
AMB

Já consegui =) obrigada

só uma questão eu tenho no código algumas querys a base de dados:


   ResultSet xx2 = stsql.executeQuery("SELECT Modelo FROM Loc WHERE Local = '"+local+"'");    
                           if (xx2.next()){       
                         String modeq = xx2.getString("Modelo");    
                          System.out.println(modeq);    
                              
                        String ddz = null;    
                             if(modeq.equals("ati"))    
                              ddz = "3";    
                                System.out.println("dz = 3");    
                          if(modeq.equals("an"))    
                               ddz = "0";    
      
                          ResultSet xx3 = stsql.executeQuery("SELECT regi FROM A WHERE Stud = '"+sd+"'");    
                          if (xx3.next()){    
                              String reg = xx3.getString("regi");    
                                  
                             String ctdia = null;    
                              if(reg.equals("body") && modeq.equals("amulti"))    
                                    ctdia = "0.34";    
                                 
                               if(reg.equals("head") && modeq.equals("aquilion_multi"))    
                                 ctdia = "0.27";    
                             if(reg.equals("head") && modeq.equals("an"))    
                                 ctdia = "0.22";    
                                      
                                 
                                if(reg.equals("body") && modeq.equals("an"))    
                                 ctdia = "0.22";    
                      

Mas só queria fazer quando fosse <Sol> pois quando <Lua> isto não se aplica e queria por os campos correspondentes como null... como posso fazer isso ????

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.