728x90
반응형
System.in 필드
키보드 로부터 라인 단위 문자열 얻기
package chapter14.sec03.exam01;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
// 다음 예제는 반복해서 키보드로 입력된 문자열을 라인단위로 읽고 모니터에 출력 처리 합니다.
// 반복을 멈추려면 'q'또는 'quit'을 입력하면 됩니다.
// 키보드로 부터 라인 단위 문자열을 얻어서 처리하는 GetLineStringFromKeyboard 실행 클래스 코딩입니다.
public class GetLineStringFromKeyboard {
public static void main(String[] args) throws IOException {
// InputStream을
InputStream is = System.in;
// Reader로 변환하고
Reader reader = new InputStreamReader(is);
// 위에서 변환도니 데이터를 다시, BufferedReader로 연결처리 해줍니다.
BufferedReader br = new BufferedReader(reader);
while (true) {
System.out.println("키보드로 데이터를 입력해주세요==>");
// 라인 단위로 문자열을 읽어서 lineStr 변수에 대입 처리합니다.
String lineStr = br.readLine();
if(lineStr.equalsIgnoreCase("q") || lineStr.equalsIgnoreCase("quit")) {
//while 반복문을 종료(break문)처리합니다.
System.out.println("프로그램이 종료되었습니다.");
break;
}
System.out.println("키보드에 입력된 내용 = " + lineStr);
System.out.println();
}
br.close();
}
}
Scanner로 입력된 문자열 얻기
product.java
package chapter14.sec03.exam02;
// 다음 예제는 Scanner를 이용해서 상품의 내용을 키보드로 입력받아서
// Product 객체를 생성하고 List 컬렉션에서 관리하는 자바 프로그램입니다.
// 우선 Product 객체를 소스 코딩해줍니다.
public class Product {
private int pno; // 상품 번호 pno 필드선언
private String name; // 상품명 name 필드 선언
private int price; // 상품가격 price 필드선언
private int stock; // 상품 재고 stock 필드 선언
//
public int getPno() {
return pno;
}
public void setPno(int pno) {
this.pno = pno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
}
productStroage.java
package chapter14.sec03.exam02;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import javax.xml.transform.Source;
// Scanner 클래스 활용 키보드로 입력된 문자열을 활용하는 ProductStorage 소스를 코딩합니다.
public class ProductStorage {
// List 형 자료 구저의 Porduct 타입의 list 객체 차조 변수를 생성합니다.
private List<Product> list = new ArrayList<Product>();
// 키보드로 입력된 데이터 Scanner 클래스 활용 scan 객체 참조 변수에 대입 처리합니다.
private Scanner scan = new Scanner(System.in);
private int counter; // pno 제공 카운터 변수를 선언해 줍니다.
void showMenu(){
while (true) {
System.out.println("========================");
System.out.println("1. 등록 | 2. 목록 | 3. 종료");
System.out.println("========================");
System.out.println("메뉴 번호 선택 = ");
String selectNo = scan.nextLine(); // 위에 메뉴 번호 읽기
switch (selectNo) {
case "1":
registerProduct(); // Product 상품 등록 기능 제공
break;
case "2":
showProduct(); // Product 상품 등록 기능 제공
break;
case "3": // 3번을 선택하면
return; // 프로그램을 종료처리합니다.
}
}
}
// list에 저장된 모든 상품 Product 정보를 모니터로 출력 처리합니다.
private void showProduct() {
for (Product p : list) {
System.out.println(p.getPno() + "\t" + p.getName() + "\t" + p.getPrice() + "\t" + p.getStock());
}
System.out.println();
}
// Product 상품 등록 처리 registerProduct() 메서드 선언
private void registerProduct() {
try {
Product product = new Product();
product.setPno(++counter); //pno 값 설정 처리함
System.out.println("상품명을 입력해주세요==>");
product.setName(scan.nextLine()); // 상품명 읽고 설정처리함
System.out.println("상품가격을 입력해주세요==>");
product.setPrice(Integer.parseInt(scan.nextLine())); // 상품명 읽고 설정처리함
System.out.println("상품 재고를 입력해주세요==>");
product.setStock(Integer.parseInt(scan.nextLine())); // 상품재고 읽고 설정처리함
list.add(product); // list 객체 참조 변수에 Product 객체 정보를 저장 처리합니다.
} catch (Exception e) {
System.out.println("등록 에러" + e.getMessage());
}
}
}
스캐너로 입력된 문자열 얻기
ProductStorageExample.java
package chapter14.sec03.exam02;
// Scanner로 입력된 문자열 데이터를 처리한는 ProductStorageExample 실행 클래스 소스 코딩입니다.
public class ProductStorageExample {
public static void main(String[] args) {
// ProductStorage 객체를 생성하고 showMenu() 메서드를 호출합니다.
ProductStorage productStorage = new ProductStorage();
productStorage.showMenu();
}
}
file 클래스를 이용한 파일 및 폴더 정보출력
package chapter14.sec03.exam03;
import java.io.File;
// 다음은 C:/Temp 폴더에 images폴더와 file1.txt, file.txt2, file3.txt 파일을
// 생성하고, Temp 폴더에 있는 파일 목록을 화면으로 보여주는 (출력하는) 예제입니다.
// File 클래스 활용 파일 및 폴더 정보를 출력하는 자바프로그램 소스코딩입니다.
public class FileExample {
public static void main(String[] args) {
//File 객체 생성
File dir = new File("C:/Temp/images");
File file1 = new File("C:/Temp/file1.txt");
File file2 = new File("C:/Temp/file2.txt");
File file3 = new File("C:/Temp/file3.txt");
// 만약에 dir 객체가 없다면
if(dir.exists() == false) {
// 폴더 객체를 생성합니다.
dir.mkdir();
}
}
}
package chapter14.sec03.exam03;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
// 다음은 C:/Temp 폴더에 images폴더와 file1.txt, file.txt2, file3.txt 파일을
// 생성하고, Temp 폴더에 있는 파일 목록을 화면으로 보여주는 (출력하는) 예제입니다.
// File 클래스 활용 파일 및 폴더 정보를 출력하는 자바프로그램 소스코딩입니다.
public class FileExample {
public static void main(String[] args) throws Exception {
//File 객체 생성
File dir = new File("C:/Temp/images");
File file1 = new File("C:/Temp/file1.txt");
File file2 = new File("C:/Temp/file2.txt");
File file3 = new File("C:/Temp/file3.txt");
// 만약에 dir 객체가 없다면
if(dir.exists() == false) {
// 폴더 객체를 생성합니다.
dir.mkdir();
}
// 만약에 file1 객체가 없다면
if (file1.exists() == false) {
// 파일 객체를 생성합니다.
file1.createNewFile();
}
// 만약에 file2 객체가 없다면
if (file2.exists() == false) {
// 파일 객체를 생성합니다.
file2.createNewFile();
}
// 만약에 file3 객체가 없다면
if (file3.exists() == false) {
// 파일 객체를 생성합니다.
file3.createNewFile();
}
// "C:/Temp 폴더의 내용 목록을 File 배열로 처리합니다.
File temp = new File("C:/Temp");
File[] contents = temp.listFiles();
System.out.println("시간\t\t\t형태\t\t크기\t이름");
System.out.println("----------------------------");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd a HH:mm");
// 파일 또는 디렉토리(폴더) 정보를 반복적으로 화면으로 출력 표시해줍니다.
for (File file : contents) {
System.out.print(sdf.format(new Date(file.lastModified())));
// 만약에, 디렉토리(폴더)라면
if (file.isDirectory()) {
System.out.println("\t<DIR>\t\t\t " + file.getName());
// 디렉토리(폴더)가 아니라면
}else {
System.out.println("\t\t\t"+ file.length()+"\t"+file.getName());
}
System.out.println();
}
}
}
728x90
반응형
'☭DEVELOPER > #2 웹개발(자바기반 풀스택)' 카테고리의 다른 글
[SQL]테이블 조인 (0) | 2023.09.06 |
---|---|
[SQL] SQL PLUS 형식 명령어 활용 (0) | 2023.09.05 |
[BACKEND]코딩테스트9 (0) | 2023.09.05 |
[BACKEND]JAVA_ECLIPSE 31 보조스트림 (0) | 2023.09.04 |
[BACKEND]JAVA_ECLIPSE 30 입출력 스트림 (0) | 2023.09.04 |