이전 게시물을 읽고 프로젝트에 코드를 통합하려고했습니다. 내 txt 파일에서 정수를 읽으려고합니다. 나는이 방법을 사용하고 있습니다 :Java에서 파일에서 정수를 올바르게 읽는 방법
이static Object[] readFile(String fileName) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(fileName));
List<Integer> tall = new ArrayList<Integer>();
while (scanner.hasNextInt()) {
tall.add(scanner.nextInt());
}
return tall.toArray();
}
나는 데이터의 크기를 모르는를, 그래서 내가 주 호출 방법 목록 을 사용하고 있습니다 : 나는 배열의 크기가 있음을 얻고있다
Object [] arr = readFile("C:\\02.txt");
System.out.println(arr.length);
0; 파일에서 읽으려고하는 정수가 바이너리 시퀀스입니다. (1010101010 ...) 나는이 문제가 스캐너와 연결되어 있다고 생각하는데 아마도 정수가 아니라고 생각한다.
난 적이 없다 스캐너에 대한 많은 사랑을 가지고 있었고, 필자의 개인적인 접근 방법은 숫자가 줄에 있으면 텍스트 파일로 읽고 Integer.parseInt()를 사용하여 구문 분석하는 것입니다. – MightyPork
글쎄, 나는 당신의 제안을 할 것이고 공백이있는 비트가 분리되어있을 때 옆에 텍스트처럼 파일을 읽습니다. –
입력 파일이 너무 크지 않은 경우 문자열로 모두로드하고 정규식으로 파싱 할 수 있습니다. 작은 파일 (수 킬로바이트)의 경우 매우 빠르고 효율적입니다. – MightyPork