-
반응형
[1번]
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class p0801 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; FileWriter fw=null; Scanner sc=new Scanner(System.in); System.out.println("전화번호 입력 프로그램입니다."); String temp=""; try { f=new File("temp/phone.txt"); fw=new FileWriter(f); int c; while(true) { System.out.print("이름 전화번호 >> "); temp=sc.nextLine(); if(temp.contentEquals("그만")) { break; } fw.write(temp+"\r\n"); } sc.close(); fw.close(); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } System.out.println(f.getPath()+"에 저장하였습니다."); } }
[2번]
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class p0802 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; FileReader fr=null; BufferedReader br=null; int c; try { f=new File("temp/phone.txt"); fr=new FileReader(f); System.out.println(f.getPath()+"를 출력합니다."); /* while((c=fr.read())!=-1) { System.out.print((char)c); } fr.close(); */ br=new BufferedReader(fr,30); String temp=""; while(true) { temp=br.readLine(); if(temp==null) { break; } System.out.println(temp); } fr.close(); } catch (IOException e) { // TODO: handle exception } } }
[3번]
import java.io.File; import java.io.FileReader; import java.io.IOException; public class p0803 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; FileReader fr=null; try { f=new File("c:\\windows\\system.ini"); fr=new FileReader(f); int c; char C; while((c=fr.read())!=-1) { C=(char)c; if(C>='a'&&C<='z') { C=Character.toUpperCase(C); } System.out.print(C); } fr.close(); }catch(IOException e) { e.printStackTrace(); } } }
[4번]
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class p0804 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; BufferedReader bi=null; try { f=new File("c:\\windows\\system.ini"); bi=new BufferedReader(new FileReader(f)); String s=""; int i=1; System.out.println(f.getPath()+" 파일을 읽어 출력합니다."); while(true) { s=bi.readLine(); if(s==null) { break; } System.out.println("\t"+i+" : "+s); i++; } }catch(IOException e) { e.printStackTrace(); } } }
[5번]
import java.io.FileInputStream; import java.io.IOException; import java.util.Scanner; public class p0805 { public static boolean com(FileInputStream f1,FileInputStream f2) throws IOException { byte buf1[]=new byte[1024]; byte buf2[]=new byte[1024]; int l1=0,l2; while(true) { l1=f1.read(buf1,0,buf1.length); l2=f2.read(buf2,0,buf2.length); if(l1!=l2) { return false; } if(l1==-1) { break; } for(int i=0;i<l1;i++) { if(buf1[i]!=buf2[i]) return false; } } return true; } public static void main(String[] args) { // TODO Auto-generated method stub FileInputStream f1,f2; String s1,s2; Scanner sc=new Scanner(System.in); System.out.println("전체 경로명이 아닌 파일 이름만 입력하는 경우, 파일은 프로젝트 폴더에 있어야 합니다."); System.out.print("첫번째 파일 이름을 입력하세요>>"); s1=sc.next(); System.out.print("두번째 파일 이름을 입력하세요>>"); s2=sc.next(); try { f1=new FileInputStream(s1); f2=new FileInputStream(s2); if(!com(f1,f2)) { System.out.println("파일이 서로 다릅니다."); } else { System.out.println("파일이 같습니다."); } if(f1!=null) f1.close(); if(f2!=null) f2.close(); sc.close(); }catch(IOException e) { e.printStackTrace(); } } }
반응형[6번]
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class p0806 { public static void main(String[] args) { // TODO Auto-generated method stub FileInputStream f1,f2; FileOutputStream f3; String s1,s2; Scanner sc=new Scanner(System.in); System.out.println("전체 경로명이 아닌 파일 이름만 입력하는 경우, 파일은 프로젝트 폴더에 있어야 합니다."); System.out.print("첫번째 파일 이름을 입력하세요>>"); s1=sc.next(); System.out.print("두번째 파일 이름을 입력하세요>>"); s2=sc.next(); try { f1=new FileInputStream(s1); f2=new FileInputStream(s2); f3=new FileOutputStream(new File("appended.txt")); byte buff[]=new byte[1024]; while(true) { int n=f1.read(buff); f3.write(buff,0,buff.length); if(n<buff.length) break; } while(true) { int n=f2.read(buff); f3.write(buff,0,buff.length); if(n<buff.length) break; } System.out.println("프로젝트 폴더 밑에 appended.txt 파일에 저장했습니다."); f1.close(); f2.close(); f3.close(); sc.close(); }catch(IOException e) { e.printStackTrace(); } } }
[7번]
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class p0807 { public static void main(String[] args) { // TODO Auto-generated method stub File a,b; FileInputStream fin; FileOutputStream fout; long n,total; try { a=new File("temp/red.png"); b=new File("temp/copy.png"); System.out.println(a.getName()+"를 "+b.getName()+"로 복사합니다."); System.out.println("10%마다 *를 출력합니다."); fin=new FileInputStream(a); fout=new FileOutputStream(b); int c; n=0; total=a.length(); while((c=fin.read())!=-1) { fout.write((byte)c); n=(n+1); if(n==total/10) { System.out.print("*"); n=0; } } fin.close(); fout.close(); }catch(IOException e) { e.printStackTrace(); } } }
[8번]
import java.io.File; public class p0808 { public static void main(String[] args) { // TODO Auto-generated method stub File f; File sub[]; try { f=new File("c:\\"); sub=f.listFiles(); long max=-1; int maxi=-1; for(int i=0;i<sub.length;i++) { if(max<sub[i].length()) { max=sub[i].length(); maxi=i; } } System.out.println("가장 큰 파일은 "+sub[maxi].getPath()+" "+sub[maxi].length()+"바이트"); } catch (Exception e) { // TODO: handle exception } } }
[9번]
import java.io.File; import java.io.IOException; public class p0809 { public static void main(String[] args) { // TODO Auto-generated method stub File f; File fs[]; try { //c드라이브에 이미 TEMP폴더가 있어서 임시 폴더 만들어둠 f=new File("c:\\temp1\\"); fs=f.listFiles(); int cnt=0; System.out.println(f.getPath()+"디렉토리의 .txt파일을 모두 삭제합니다."); for(int i=0;i<fs.length;i++) { String n=fs[i].getName(); int index=n.lastIndexOf(".txt"); if(index!=-1) { System.out.println(fs[i].getName()+" 삭제"); fs[i].delete(); cnt++; } } System.out.println("총 "+cnt+"개의 .txt파일을 삭제했습니다."); }catch(Exception e) { e.printStackTrace(); } } }
[10번]
import java.io.File; import java.io.FileReader; import java.util.HashMap; import java.util.Scanner; public class p0810 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; FileReader fr=null; HashMap<String,String> phone; Scanner sc; try { phone=new HashMap<String,String>(); f=new File("c:\\temp1\\phone.txt"); fr=new FileReader(f); sc=new Scanner(fr); while(sc.hasNext()) { String n=sc.next(); String t=sc.next(); phone.put(n,t); System.out.println("key:"+n+"value:"+phone.get(n)); } System.out.println("총 "+phone.size()+"개의 정보를 읽었습니다."); sc.close(); sc=new Scanner(System.in); String temp=""; while(true) { System.out.print("이름>>"); temp=sc.next(); System.out.println(temp); if(temp.equals("그만")) { break; } String tel=phone.get(temp); if(tel==null) { System.out.println("찾는 이름이 없습니다."); } else { System.out.println(tel); } } } catch (Exception e) { // TODO: handle exception } } }
[11번]
import java.io.File; import java.io.FileReader; import java.util.Scanner; import java.util.Vector; public class p0811 { public static void main(String[] args) { // TODO Auto-generated method stub FileReader fr=null; Vector<String> v; Scanner sc; try { fr=new FileReader(new File("words.txt")); v=new Vector<String>(); sc=new Scanner(fr); String word=""; while(sc.hasNext()) { word=sc.next(); v.add(word); } System.out.println("프로젝트 폴더 밑의 words.txt 파일을 읽었습니다..."); sc.close(); sc=new Scanner(System.in); while(true) { boolean find=false; System.out.print("단어>>"); word=sc.next(); if(word.equals("그만")) break; for(int i=0;i<v.size();i++) { String w=v.get(i); if(w.length()<word.length()) continue; String sub=w.substring(0,word.length()); if(sub.equals(word)){ System.out.println(w); find=true; } } if(!find) System.out.println("발견할 수 없음."); } System.out.println("종료합니다..."); sc.close(); fr.close(); }catch(Exception e) { e.printStackTrace(); } } }
[12번]
import java.io.File; import java.io.FileReader; import java.util.Scanner; import java.util.Vector; public class p0812 { public static void main(String[] args) { // TODO Auto-generated method stub FileReader fr=null; Vector<String> v; Scanner fsc,sc; try { sc=new Scanner(System.in); System.out.println("전체 경로명이 아닌 파일 이름만 입력하는 경우, 파일은 프로젝트 폴더에 있어야 합니다."); System.out.print("대상 파일명 입력>> "); String fileN=sc.next(); fr=new FileReader(new File(fileN)); v=new Vector<String>(); fsc=new Scanner(fr); String line=""; while(fsc.hasNext()) { line=fsc.nextLine(); v.add(line); } while(true) { System.out.print("검색할 단어나 문장>> "); String findN=sc.next(); boolean find=false; if(findN.equals("그만")) break; for(int i=0;i<v.size();i++) { String temp=v.get(i); if(temp.indexOf(findN)!=-1) { find=true; System.out.println(i+": "+temp); } } if(!find) System.out.println("발견할 수 없음."); } System.out.println("프로그램을 종료합니다."); sc.close(); fr.close(); fsc.close(); }catch(Exception e) { e.printStackTrace(); } } }
[13번]
import java.io.File; import java.util.Scanner; public class p0813 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; File fl[]; Scanner sc; try { sc=new Scanner(System.in); f=new File("c:\\"); System.out.println("***** 파일 탐색기입니다. *****"); while(true) { String nowD=f.getName(); System.out.println("["+nowD+"]"); fl=f.listFiles(); for(int i=0;i<fl.length;i++) { String dir; if(fl[i].isDirectory()) dir="dir"; else dir="file"; System.out.println(dir+"\t"+fl[i].length()+"바이트\t"+fl[i].getName()); } System.out.print(">>"); String op=sc.next(); if(op.equals("그만")) break; if(op.equals("..")) { if(f.getParent()==null) continue; else { f=new File(f.getParent()); } } else { if(new File(f,op).isDirectory()) { f=new File(f,op); } else { System.out.println("디렉토리가 아닙니다."); } } } }catch(Exception e) { e.printStackTrace(); } } }
[14번]
import java.io.File; import java.util.Scanner; import java.util.StringTokenizer; public class p0814 { public static void main(String[] args) { // TODO Auto-generated method stub File f=null; File fl[]; Scanner sc; try { sc=new Scanner(System.in); f=new File("c:\\"); System.out.println("***** 파일 탐색기입니다. *****"); while(true) { String nowD=f.getName(); System.out.println("["+nowD+"]"); fl=f.listFiles(); for(int i=0;i<fl.length;i++) { String dir; if(fl[i].isDirectory()) dir="dir"; else dir="file"; System.out.println(dir+"\t"+fl[i].length()+"바이트\t"+fl[i].getName()); } System.out.print(">>"); String line=sc.nextLine(); StringTokenizer st=new StringTokenizer(line," "); String op=st.nextToken(); if(op.equals("그만")) break; if(op.equals("..")) { if(f.getParent()==null) continue; else { f=new File(f.getParent()); } } else { if(op.equals("rename")) { String v1,v2; try { v1=st.nextToken(); v2=st.nextToken(); File on=new File(f,v1); File rn=new File(f,v2); if(rn.exists()) { System.out.println("이미 존재하는 파일이나 디렉터리 이름입니다."); } else { on.renameTo(rn); } }catch(Exception e) { System.out.println("두개의 파일명이 주어지지 않았습니다."); } } else if(op.equals("mkdir")) { try { String dname=st.nextToken(); File newD=new File(f,dname); if(newD.exists()) System.out.println("이미 존재하는 파일이나 디렉토리입니다."); else { System.out.println(dname+" 디렉터리를 생성하였습니다."); newD.mkdir(); } } catch (Exception e) { // TODO: handle exception System.out.println("생성할 디렉토리 명이 주어지지 않았습니다."); } } else { if(new File(f,op).isDirectory()) { f=new File(f,op); } else { System.out.println("디렉토리가 아닙니다."); } } } } }catch(Exception e) { e.printStackTrace(); } } }
반응형'문제풀이 > 명품 자바 프로그래밍(개정4판)' 카테고리의 다른 글
명품 자바 프로그래밍(개정4판) 제 10장 실습문제 (0) 2020.12.07 명품 자바 프로그래밍(개정4판) 제 9장 실습문제 (0) 2020.12.07 명품 자바 프로그래밍(개정4판) 제 7장 실습문제 (0) 2020.12.07 명품 자바 프로그래밍(개정4판) 제 6장 실습문제 (0) 2020.11.22 명품 자바 프로그래밍(개정4판) 제 5장 실습문제 (0) 2020.11.22 댓글