hasNextLine()
txt파일(메모장)을 작성후, 메모장내역을 불러와 콘솔에 출력하기
package ex3.array.test2;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class Program {
public static void main(String[] args) throws IOException {
//1.문자열 10개 짜리 names 배열을 생성한다.
String[] names = new String[10];
//2.파일에서 name들을 읽어와서 names 배열애 대입한다.
FileInputStream fis = new FileInputStream("res/names.txt");
Scanner fscan = new Scanner(fis); //문자불러오기
int i =0;
while(fscan.hasNextLine()) { //참인동안 반복
String name = fscan.nextLine(); //끝까지 읽었다는 것을 알려줌
names[i++] = name; // 다음을 증가
System.out.printf("%s, ",names[i-1]);
if(fscan.hasNextLine()==true) // 거짓이면 중단
System.out.printf(","); //마지막줄
}
//3.names 배열의 이름을 다음처럼 콘솔에 출력한다.
//홍길동,김길동,강호동,유재석
fscan.close();
fis.close();
System.out.println("복사완료");
}
}
nextLine()줄을 읽어오지만, 끝을 읽었다는걸 알려주거나, 값을가져오는내용이없다.
fscan.점을찍으면 여러메소드들이 조회된다
hasnextline() : 불리언, 트루, 거짓 값을 반환한다, 다음라인을 가져올수있으면 트루값을가져오도록 한다.
if(fscan.hasNextLine() : 불러올 문자가 더 있다면 참
String name = fscan.nextLine(); : 불러온 문자를 변수name에 넣는다.
names[i++] = name; 배열에 담는다.
names[i++] : 다음을 증가,
다음라인이있는지 찾고, 있다면 배열에 담는것을 반복한다-> while로 반복
'2021 Newlecture > JAVA' 카테고리의 다른 글
2차원배열/ 코로나 검사진행자 누적수 구하기/ 열의 합 구하기 (0) | 2021.03.15 |
---|---|
코로나 검사 누적수 구하기 / 반복문 / 문자열구분 (0) | 2021.03.12 |
String클래스 / 문자열배열 섞기/ 문자열비교 / 문자열정렬 (0) | 2021.03.11 |
사진복사 / write(byte [] b, int off, int len) 이용해 출력 (0) | 2021.03.11 |
배열/ 랜덤값 radom()/ 섞기 / 버블정렬(가장 큰 숫자찾기) (0) | 2021.03.10 |
File Stream이용해 파일복사하기/ read(byte[] b)/ 배열과 for문 / (0) | 2021.03.09 |
if / switch / 중첩된 제어구조 벗어나기 /do while (0) | 2021.03.08 |
nextInt() , nextLine()사용시 주의사항/Integer.pasrseInt() (0) | 2021.03.08 |