마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

메모장 어플을 공부중입니다.

0 추천
도서관에서 빌린 앱을 만드는 책을 대출해서 공부중입니다.

메모장어플인데요

1.아래 트라이캐치 구문을 사용한 이유가뭘까요?

2.그리고 캐치 부분이 비어있으면 그냥 가만히 있는건가요?

3.  while((temp = bufferReader.readLine()) != null) {
    columns.append(temp);
    columns.append("\n");
   }

 

그리고 이부분이 해석이 잘안되네요 ㅠㅠ

 

 

 public void save() {
  // 메모를 저장한다.
  String memoText = memo.getText().toString();
  File savefile = new File("sdcard/Download/memo.txt");
  try {
   FileOutputStream buf = new FileOutputStream(savefile);
   buf.write(memoText.getBytes());
   buf.close();
   Toast.makeText(this,"save success", Toast.LENGTH_SHORT).show();
  } catch (IOException e) {}
 }
 
 public void load() {
  // 저장된 메모를 불러온다.
  memo.setText("");
  File loadPath = new File("sdcard/Download/memo.txt");
  try {
   FileInputStream files = new FileInputStream(loadPath);
   BufferedReader bufferReader = new BufferedReader(new InputStreamReader (files));
   StringBuffer columns = new StringBuffer();
   String temp = "";
   while((temp = bufferReader.readLine()) != null) {
    columns.append(temp);
    columns.append("\n");
   }
   memo.setText(columns.toString());
   Toast.makeText(this,"load success", Toast.LENGTH_SHORT).show();
  } catch (IOException e) {}
 }

}
비스니 (120 포인트) 님이 2014년 6월 9일 질문

1개의 답변

+1 추천
try catch문은 예외처리문입니다. try 일단 시도하고 뭔가 exception이 발생하면 즉시 catch로 잡아서 그 밑의 구문을 실행시킵니다. 자바의 경우 몇몇의 exception은 필수로 처리하도록 되어 있습니다. catch쪽이 실행됬다는 것은 try부분의 코드가 올바로 실행되지 못하였다는 것이고 그에 대한 대비(예를 들면 오류 메세지)를 catch쪽에 넣으시면 됩니다. 그 외에 더 알아보시면 finally도 있는데 그 부분은 예외처리가 되든말든 꼭 실행할 부분을 처리하는 곳입니다. 자세한점은 예외처리 관련해서 알아보시면 될 것입니다.

While문이 도는 부분은 지금 저장된 파일을 열어서 읽는 부분인데 while문의 사용법이 아시다시피 true값이 조건의 결과일때 실행이 됩니다. buffer에 readline 즉 파일의 버퍼 한줄한줄 읽으면서 null 즉 마지막 줄이 나온다면 while문이 더이상 돌아가지 않겠죠.. 그런 뜻입니다..
YeonMin (17,860 포인트) 님이 2014년 6월 9일 답변
...