2014-04-11 4 views
0

근본적으로 나는 파일 C : /test.txt를 가지고 있고 출력은 (55) is not correct, 나는 그 파일에서 최대 바이트를 찾고 싶다. 누군가 내가 뭘 잘못했는지 이해하도록 도와 줄 수 있거나, 거기에 내 코드 실수? 여기파일에서 최대 바이트를 어떻게 찾을 수 있습니까?

public static void main(String[] args) throws Exception 
      { 
      BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); 
       String filName = bufferedReader.readLine(); 
       int max; 
       FileInputStream fileReader = new FileInputStream(filName); 

       max = fileReader.read(); 
       while (fileReader.available() > 0) 
       { 
        if (max < fileReader.read()) 
        { 
         max = fileReader.read(); 
        } 
       } 
       fileReader.close(); 
       System.out.println(max); 

      } 
     } 
+0

Java? 기음#? Visual Basic? 태그에 하나를 추가하십시오. –

+0

그 데이터의 샘플 또는 올바른 결과일까요? 내 수정 구슬 오늘은 분명하지 않다. –

+0

데이터가 1 ​​2 3 4 5 –

답변

1

당신은 위치 N에서 바이트를 읽고, 그것을 현재 최대보다 큰 있다면, 당신은 위치 N에서 바이트 + 1 최대 대체 :

if (max < fileReader.read()) 
{ 
    max = fileReader.read(); 
} 

당신이 볼 수있는 방법이 원 일하지 않니?

데이터가 1 ​​2 3 4 5

입니다 :이 의견에 따르면,

int current = fileReader.read(); 
if (current > max) 
{ 
    max = current; 
} 

을 또한 : 사용 당신은 fileReader.read()의 결과를 저장해야합니다 그래서 당신은 다음을 비교할 수 있습니다 실제로 바이트/문자 값을 읽을 때 파일에서 정수를 읽을 것으로 예상됩니다. 파일이 이진 파일 인 경우 정수 크기의 청크를 읽어야합니다. 파일이 텍스트 인 경우, 그 중 정수를 파싱해야합니다.

+0

거룩한 몰리 남자, 감사합니다. –

+0

나는 이미 다른 곳의 메모리 또는 파일 자체를 저장했다고 생각했습니다. –

관련 문제