다음 코드가 있습니다. 나는 왜 그것이 작동하지 않는지 이해하지 못합니다.Java- 텍스트 파일 읽기 및 배열로 저장
정말 감사드립니다.
import java.util.Scanner;
import java.io.*;
class ReadFiles {
String [] codes = new String[99];
int i = 0;
private Scanner readCodes;
public void openCodesFile() {
try {
readCodes = new Scanner(new File("C:/Users/Carlo/Desktop/Files/codes.txt"));
} catch (Exception e) {
System.out.println("Could not locate the data file!");
}
}
public void readCodesFile() {
while(readCodes.hasNext()) {
codes[i] = readCodes.nextLine();
i++;
System.out.println(codes[i]);
}
}
public void closeCodesFile() {
readCodes.close();
}
}
class NewHardware {
public static void main(String[] args) {
ReadFiles codesRead = new ReadFiles();
codesRead.openCodesFile();
codesRead.readCodesFile();
codesRead.closeCodesFile();
}
}
출력이 여러 번 "null"로 출력됩니다.
또한 코드를 인쇄 할뿐만 아니라 NewHardware 클래스의 코드 배열을 사용하여 조작 (인쇄, 잘라내 기 등) 할 수 있기를 원합니다.
public String readCodesFile() {
while(readCodes.hasNext()) {
codes[i] = readCodes.nextLine();
i++;
System.out.println(codes[i]);
}
return (codes[i]);
}
또는 뭔가를하지만 아직 작동되지 않았습니다
나는 readCodesFile()로 다음을 수행 생각했다. 나는 올바른 길을 가고 있는가?
아, 그냥 텍스트가 다음이 포함되어 있는지 추가하고 싶었 :
G22
K13
S21
I30
H15
N23
L33
E19
U49
편집 : 토니 아래 Churk에
덕분에 내 바보 같은 짓 좀 도와. 나는 토니의 대답을 받아 들인다. 왜냐하면 그는 내가 생각하기에 도전했기 때문에 Churk의 대답은 가치가있다.
class NewHardware {
public static void main(String[] args) {
ReadFiles codesRead = new ReadFiles();
codesRead.openCodesFile();
codesRead.readCodesFile();
for (int i = 0; i < 9; i++) {
System.out.println("\n\n" + codesRead.codes[i]);
}
codesRead.closeCodesFile();
}
}
이 물론 아니다 최종 프로그램 코드하지만이 있습니다 (I 클래스 NewHardware에서 사용할 수있는에 대해 질문) 내 질문의 두 번째 부분에 대한
, 나는 다음과 같은했다 기본적인 아이디어를 얻는 데 도움이되었습니다. 희망이 다른 사람도 도움이됩니다.
한 일을하고 일관된 질문에 대한 코드를 인쇄 할 수 있습니다. –