OOP 실험4-파일

3633 단어 OOP

실험 4 파일


실험 4 문건본 실험 4 학시
  • 실험목적: 파일의 기본 조작.이상 처리를 알아보다.
  • 실험 환경과 조건: JDK, NetBeans
  • 실험 내용: 텍스트 파일의 읽기와 쓰기.부록된 FileTool을 사용합니다.java의 파일 읽기와 쓰기 함수로 자신이 설정한 기능 목표를 완성합니다.프로그램의 구체적인 기능/작용은 스스로 설정한다.

  • 내용 참조 예: 파일에 Account 객체 저장파일에서 데이터를 읽고 Account 객체를 만듭니다.파일 계정.txt 형식은 다음과 같습니다.
     1, 1
    

    부록: 파일 읽기 및 쓰기 예제 FileTool.java 파일의 내용은 다음과 같습니다.
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    public class FileTool {
        public static String read(String fileName) {
            StringBuilder content = new StringBuilder();
            try (FileInputStream fileInput = new FileInputStream(fileName);
                    InputStreamReader inputStreamReader = new InputStreamReader(fileInput);) {
                while (inputStreamReader.ready()) {
                    content.append((char) inputStreamReader.read());
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            return content.toString();
        }
        public static boolean write(String fileName, String content) {
            try (FileOutputStream fileOutput = new FileOutputStream(fileName);) {
                fileOutput.write(content.getBytes());
            } catch (IOException ex) {
                ex.printStackTrace();
                return false;
            }
            return true;
        }
    }
    

    Account.Java 파일의 내용은 다음과 같습니다.
    public class Account {
        private String accountID;
        private int balance;
        public void deposit(int amount) {
            this.balance += amount;
        }
        public void withdraw(int amount) {
            this.balance -= amount;
        }
        public Account() {
        }
        public Account(String accountID) {
            this.accountID = accountID;
        }
        public Account(String accountID, int balance) {
            this.accountID = accountID;
            this.balance = balance;
        }
        public int getBalance() {
            return balance;
        }
        public void setBalance(int balance) {
            this.balance = balance;
        }
        public String getAccountID() {
            return accountID;
        }
        public void setAccountID(String accountID) {
            this.accountID = accountID;
        }
    }
    

    AccountDao.java 파일의 내용은 다음과 같습니다.
    public class AccountDao {
        private String accountFileName;
        public AccountDao() {
        }
        public AccountDao(String accountFileName) {
            this.accountFileName = accountFileName;
        }
        public Account getAccount() {
            String content = FileTool.read(accountFileName);
            String[] items = content.split(",");
            Account account = new Account(items[0], Integer.parseInt(items[1]));
            return account;
        }
        public boolean saveAccounts(Account account) {
            String content = "";
            content += account.getAccountID() + "," + account.getBalance();
            return FileTool.write(accountFileName, content);
        }
    }
    

    마스터 클래스MainClass.Java 파일의 내용은 다음과 같습니다.
    public class MainClass {
        public static void main(String[] args) {
            String accountFileName = "c:/javalab/account.txt";
            AccountDao accountDao = new AccountDao(accountFileName);
            Account account = accountDao.getAccount();
            System.out.println(account.getAccountID() + ":" + account.getAccountID());
            account.deposit(100);
            accountDao.saveAccounts(account);
            account = accountDao.getAccount();
            System.out.println(account.getAccountID() + ":" + account.getAccountID());
        }
    }
    

    좋은 웹페이지 즐겨찾기