728x90
반응형
문자 입출력하기
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class InputStreamEx01 {
public static void main(String[] args) {
InputStream in = System.in;
OutputStream out = System.out;
try {
int inputChar = in.read();
out.write(inputChar);
out.flush();
out.close();
in.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
문자를 하나씩 처리한다.
(read 시 하나의 문자만 받음)
InputStreamReader, OutputStreamWriter
배열을 이용하여 여러 문자 한번에 처리하기
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class InputStreamEx01 {
public static void main(String[] args) {
InputStream in = System.in;
InputStreamReader reader = new InputStreamReader(in);
OutputStream out = System.out;
OutputStreamWriter writer = new OutputStreamWriter(out);
char inputData[] = new char[100];
try {
reader.read(inputData);
writer.write(inputData);
writer.close();
reader.close();
out.close();
in.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
배열을 이용하기 때문에 고정적인 길이의 데이터만 처리 가능함.
버퍼를 이용하여 입출력하기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class InputStreamEx01 {
public static void main(String[] args) {
InputStream in = System.in;
InputStreamReader reader = new InputStreamReader(in);
OutputStream out = System.out;
OutputStreamWriter writer = new OutputStreamWriter(out);
BufferedReader br = new BufferedReader(reader);
BufferedWriter bw = new BufferedWriter(writer);
try {
String inputStr = br.readLine();
bw.write(inputStr);
bw.newLine();
inputStr=br.readLine();
bw.write(inputStr);
bw.newLine();
bw.flush();
br.close();
bw.close();
writer.close();
reader.close();
out.close();
in.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
파일 입력하기
import java.io.FileReader;
import java.io.IOException;
public class FileReaderEx01 {
public static void main(String[] args) {
try {
FileReader fileReader = new FileReader("apple.txt");
while(true) {
int data = fileReader.read();
if(data==-1) break;
char ch = (char)data;
System.out.println(ch);}
}catch(IOException e) {
e.printStackTrace();
}
}
}
char 문자 한 개씩 읽어 처리함.
import java.io.FileReader;
import java.io.IOException;
public class FileReaderEx01 {
public static void main(String[] args) {
try {
FileReader fileReader = new FileReader("apple.txt");
char arr[] = new char[100];
while(true) {
int data = fileReader.read(arr);
if(data==-1) break;
//char ch = (char)data;
System.out.println(arr);}
}catch(IOException e) {
e.printStackTrace();
}
}
}
char arr []= arr[100]; 배열을 만들어 여러 문자를 한 번에 처리할 수 있다.
파일에 출력하기
import java.io.FileWriter;
import java.io.IOException;
public class FileReaderEx01 {
public static void main(String[] args) {
try {
FileWriter fileWriter= new FileWriter("apple.txt");
char arr[] = {'안','녕'};
for(int i=0;i<arr.length;i++) {
fileWriter.write(arr[i]);
}
fileWriter.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
파일 목록 출력하기
import java.io.File;
import java.util.GregorianCalendar;
public class FileEx01 {
public static void main(String[] args) {
File file = new File(".");
File file_arr[] = file.listFiles();
for(int i=0;i<file_arr.length;i++) {
String name = file_arr[i].getName();
if(file_arr[i].isFile()) {
System.out.printf("%-25s %7d ",name,file_arr[i].length());
}
else {
//디렉터리인 경우
System.out.printf("%-25s <DIR> ",name);
}
long time = file_arr[i].lastModified();//최종수정일자
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTimeInMillis(time);
System.out.printf("%1$tF %1$tT %n",calendar);
}
}
}
728x90
반응형
'2022-2 > 자바' 카테고리의 다른 글
interface/Object class/Wrapper class/System class (0) | 2022.11.08 |
---|---|
추상화 클래스, 추상화 메소드, 다형성 (0) | 2022.11.03 |
상속,오버라이딩,super(),final,abstract (0) | 2022.11.01 |
자바 중간고사 (0) | 2022.10.26 |
Object, String, StringBuffer (0) | 2022.10.21 |
댓글