[IT]/java
java.file입력/출력
givemebro
2021. 3. 15. 12:24
반응형

package step2;
import java.io.IOException;
import java.util.ArrayList;
public abstract class TestIOService1 {
public static void main(String[] args) {
String path = "C:\\4. kosta215\\iotest2\\lunch.txt";
IOService service = new IOService(path);
// file에 저장할 데이터를 list에 담는다
ArrayList<String> list = new ArrayList<String>();
list.add("짜장면");
list.add("돈까쓰");
list.add("커피");
try {
service.saveData(list);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("출력 완료");
}
}
package step2;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
// path에 해당하는 파일로부터 정보를 입력 받아 ArrayList로 반환받는 예제
public abstract class TestIOService2 {
public static void main(String[] args) {
String path = "C:\\4. kosta215\\iotest2\\lunch.txt";
IOService service = new IOService(path);
try {
ArrayList<String> list = service.readData();
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("입력 완료");
}
}
package step2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
public class IOService {
String path;
// file path에 해당하는 상위 디렉토리가 없다면 디렉토리를 생성
public IOService(String path) {
File dir = new File(path).getParentFile();// 상위 디렉토리 객체 반환
if (dir.isDirectory() == false) {
dir.mkdirs();// 디렉토리 생성
}
this.path = path;
}
public void saveData(ArrayList<String> list) throws IOException {
// TODO Auto-generated method stub
PrintWriter pw = null;
try {
pw = new PrintWriter(new FileWriter(path));
Iterator<String> it = list.iterator();
while (it.hasNext()) {
pw.println(it.next());
}
} finally {
if (pw != null) {
pw.close();// 임시메모리(buffer)에 있는 정보를 출력(flush)하고 close한다.
}
}
}
// path에 해당하는 파일로부터 정보를 입력받아 ArrayList에 저장한 후 반환하는 메서드
public ArrayList<String> readData() throws IOException {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(path));
ArrayList<String> list = new ArrayList<String>();
while (br.ready()) {
list.add(br.readLine());
}
} finally {
if (br != null) {
br.close();
}
}
return list;
}
}
반응형