2012-07-27 3 views
1

코딩 실험을하는 중입니다. 일반적으로이 마지막 부분까지 모든 것이 부드럽게 진행되었습니다. 나는이 하위 질문으로 어디서부터 시작해야할지 전혀 모른다. 믿을 수없는 것처럼 나를 강조하고있다. 나는 길을 찾다가 오류를 얻었습니다. 그리고 그것은 모든 것이 잘되고 나면 꽤 힘든 일입니다. 어디서부터 시작해야할지 모르겠다. 튜토리얼을 읽은 후에도 제대로 작동하도록하는 데 큰 어려움을 겪고있다.Java txt 파일 읽기

기본적으로,이 이름은 이름 배열로 가야

을이 txt 파일 (http://www.mediafire.com/?a6d7c0c5cdu1gup) 를 읽고 (스캐너없이) 5 개 어레이에 데이터를 입력 할 필요는 N/Y는에있다 Before 배열로 이동하면 숫자의 다음 열이 timespent 배열로 들어가야하고 다음 열은 assistants 배열로 이동해야하며 마지막 행은 위험 배열로 이동해야합니다.

그래서 우리는 5 개 배열

String Name [] = new String [20) 

Char Before [] = new Char [20] 

Int timeSpent [] = new Int [20] 

Int Assistants [] = new int [20] 

Double Risk [] = new Double [20] 

그래서이 내가이 만든 당신의 5 개 어레이가 있지만이 나는 텍스트 파일을 읽고 해당 열이 들어가는 있도록 그것을 쓰고에 문제가있는 무슨 적절한 배열

그래서 내 코드를 함께 가져 오는 데 도움이되고 그 값을 적절한 개별 배열로 가져 가면 계속 진행할 수 있습니다. 고마워.

+2

이 숙제 질문인가요? –

+0

5 개의 어레이를 사용해야합니까? 사람의 모든 세부 정보가 들어있는 사용자 정의 형식의 배열 (또는 List)을 갖는 것이 훨씬 더 깨끗합니다. –

+1

향후 텍스트 붙여 넣기를 코드 bin 사이트 중 하나에 배치하는 것이 좋습니다 . – nurettin

답변

2

Scanner 클래스를 사용하지 않고 파일을 트래버스하는 방법을 보여주는 this 예제를 살펴볼 수 있습니다. 줄을 읽은 사람은 .split(String regex)을 사용하여 줄을 토큰으로 나눌 수 있습니다. 모든 섹션은 쉼표로 구분되기 때문에 다음 코드를 사용할 수 있습니다. line.split(",");, 여기서 line은 방금 파일에서 읽은 행을 나타냅니다.

split 함수는 배열을 생성하므로 배열을 탐색하여 데이터를 올바른 배열로 배치 할 수 있습니다.

위의 내용은 필요한 것을 처리해야합니다. 당신은, 그러나, 또한 도움이 JavaCSV 좀 걸릴 수 있습니다 당신은 당신이 무엇을해야 :

자바 CSV는 읽기와 쓰기 CSV 및 일반으로 구분 된 텍스트 파일에 대한 작은 빠른 오픈 소스 자바 라이브러리입니다.

3

사용 라인으로 라인을 얻기위한 BufferedReader로 정규식 사용 나누

File file = new File("1.txt"); 
    FileReader fr = new FileReader(file); 
    BufferedReader in = new BufferedReader(fr); 
    String line; 
    while ((line = in.readLine()) != null){ 
     String[] record = line.split(",\\s*"); 
     // record[0] contain name 
     // record[1] contain N/Y etc.. 
     //* code here 

    }