2014-03-02 1 views
0

다른 유형의 로그인 시스템을 만들려고합니다.Java 버퍼 된 판독기 읽기

guest51 password true 
guest52 bus true 
guest53 password123 true 
guest54 123password false 

여기, 그러나 매우 어려운 얻을 수있는 곳입니다 : 그것은 .txt 파일을 읽을 수 있도록 나는 그런이 로 세부 사항을 포함, 그것을 만들고 싶어 (- - 비밀번호 부울 형식의 사용자 이름입니다). 부울을 확인하고, "true"이면 계정을 건너 뛰고, 그렇지 않으면 사용하십시오. 거기에서 계정으로 "완료"되면 "true"로 설정하십시오. 나는이 작업을 수행하는 방법에 매우 기본적인 개념이

username = nextAvaialableAccount.getUsername(); 
password = nextAvailableAccount.getPassword(); 

, 그러나 전반적으로 나는 부울 부분을 달성 할 방법에 대한 혼란 스러워요 :

내가 사용과 같은 뭔가 할 것입니다. 나는 성능에별로 신경 쓰지 않고, 시스템이 완벽하게 작동하기를 바랄 뿐이다. 그래서 나는 끊임없이 .txt에 계정을 제거하고 추가 할 수있다. 나는 .xml (guest51 등)과 같은 다른 기본 파일을 열어두고 있으며, 실제로 시스템을 실제로 "설계"하는 방법에 대해 혼란 스럽다.

EDIT : 내가 사용하고있는 계정의 .txt 내에서 부울 값을 변경하려고합니다. 최악의 상황에서 최악의 경우, Java로 수행해야 할 것입니다. (여전히 어떻게 해야할지 모르겠습니다)

EDIT Again : 또는 폴더 유형의 메소드에서 수행 할 수도 있습니다 예 : ./user/accounts/test51/

해당 디렉토리 내에서 사용자 이름, 암호 및 부울을 포함하는 details.txt를 만듭니다. 내가 원하는 시스템은 아무 것도없는 20 개의 계정과 비슷합니다.

+0

'경우 (inputString.equals ("참")) booleanVariable = TRUE; else booleanVariable = false; ' –

+1

@ PM77-1 그가 텍스트 파일의 부울 값을 대체하려고한다고 생각합니다. – xp500

+0

@ xp500 - 수 있습니다. 확실하지 않습니다. –

답변

0

텍스트 파일에서 예제 데이터를 읽고, 사용자 이름과 암호를 두 개의 문자열로, 부울을 boolean으로 만듭니다. 이 정보를 화면에 출력하는 것을 제외하고는 아무 것도하지 않습니다. (파일에 아무 것도 쓰지 않습니다 - 이것은 읽기 전용 예입니다.)하지만 잘하면 당신을 따라해야합니다.

import java.io.File; 
    import java.io.IOException; 
    import org.apache.commons.io.FileUtils; 
    import org.apache.commons.io.LineIterator; 
    import org.apache.commons.lang.StringUtils; 
/** 
    <P>{@code java ReadInActiveAccountsFromFile C:\java_code\username_password_active.txt}</P> 
**/ 
public class ReadInActiveAccountsFromFile { 
    public static final void main(String[] rqdInputPathInStrArray) { 
     //Read command-line 
     String sSrc = null; 
     try { 
      sSrc = rqdInputPathInStrArray[0]; 
     } catch(IndexOutOfBoundsException ibx) { 
      System.out.println("Missing one-and-only required parameter: The full path to Java source-code file."); 
      return; 
     } 

     //Open input file 
     File inputFile = new File(sSrc); 
     LineIterator lineItr = null; 
     try { 
      lineItr = FileUtils.lineIterator(inputFile); 
     } catch(IOException iox) { 
      System.out.println("Cannot open \"" + sSrc + "\". " + iox); 
      return; 
     } 

     while(lineItr.hasNext()) { 
     String line = lineItr.next(); 
     String[] userPassIsActive = line.split(" "); 
     String username = userPassIsActive[0]; 
     String password = userPassIsActive[1]; 
     boolean isActive = Boolean.parseBoolean(userPassIsActive[2]); 

     System.out.println("username=" + username + ", password=" + password + ", isActive=" + isActive + ""); 
     } 
    } 
} 

출력 :

[C:\java_code\]java ReadInActiveAccountsFromFile C:\java_code\username_password_active.txt 
username=guest51, password=password, isActive=true 
username=guest52, password=bus, isActive=true 
username=guest53, password=password123, isActive=true 
username=guest54, password=123password, isActive=false