2014-03-30 1 views
0

일부 문자열을 txt 파일에서 읽는 중입니다. "점수 = 10" "점수 = 1" "점수 = 5" "점수 = 11" TextView가 다음과 같이 정렬하고 싶습니다. "score = 1" "score = 5" "score = 10" "score = 11" 이 문자열을 정렬하는 방법을 모릅니다. 예를 들어 도와 드릴까요? 아니면 내 코드를 볼 수 있습니까?문자열을 txt 파일에서 정렬하여 텍스트보기 항목에 게시하는 방법

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.wyniki); 

    final TextView scores = (TextView) findViewById(R.id.textView4); 
    final Button button5 = (Button) findViewById(R.id.button5); 
    String saved_scores = readText(); 
    if (saved_scores.length()>0){ 
     scores.setText(saved_scores);} 

    sort(); 

    button5.setOnClickListener(new View.OnClickListener() { 


     @Override 
     public void onClick(View v) { 


      final File f = new File(Environment.getExternalStorageDirectory()+"/cos/Wynik.txt"); 
      if (f.exists()){ 
       f.delete(); 

       Toast.makeText(getApplicationContext(),"Deleted",Toast.LENGTH_SHORT).show(); 


       scores.setText(null); 

      } 
     } 
    }); 


} 

public String readText(){ 
    //this is your text 
    StringBuilder text = new StringBuilder(); 
try{ 

    final File f = new File(Environment.getExternalStorageDirectory()+"/cos/Wynik.txt"); 
    FileInputStream fileIS = new FileInputStream(f); 
    BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS)); 
       String readString = ""; 
    //just reading each line and pass it on the debugger 
    while((readString = buf.readLine())!= null){ 
     Log.d("line: ", readString); 
     text.append(readString + "\n"); 
       } 
    buf.close(); 
    } catch (FileNotFoundException e) { 

    e.printStackTrace(); 

    } catch (IOException e){ 

    e.printStackTrace(); 

    } 
     return text.toString(); 

}

답변

0

하여 나머지 내용이 유효한 숫자 인 경우 텍스트 파일의 각 줄의 일부가 각 라인 점검을 위해 "= 점수"제거 - 그렇다면, 저장, 그 정수와 같이 컬렉션. 텍스트 파일을 읽은 다음에는 컬렉션을 정렬하고 TextView에서 원하는 방식으로 데이터를 사용할 수 있습니다.

+0

목록 data = new ArrayList (); \t data.add (Integer.parseInt (scores.getText(). toString())); \t Collections.sort (data); \t scores.setText (data.toString()); sth 님은 이렇게 좋아 하시겠습니까? 하지만 java는 txt의 내 숫자가 int가 아님을 알립니다. 그리고 가까운 APK. – Jakozo

+0

좋아요. 나머지는 해봐. 내용이 유효한 숫자 인 경우 코드를 체크인하는 것이 좋습니다. –

+0

내 txt 파일에 숫자가 들어 있으면 어떻게합니까? \ n? – Jakozo

0

다음 작업을 수행 할 수 있습니다. 스캐너 판독기 = 새 스캐너 (fileName); for 루프에서 Reader.nextInt() 함수를 사용하여 모든 정수를 읽습니다.

관련 문제