<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
    </LinearLayout>

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:contentDescription="텍스트를 출력할 뷰" />
        </LinearLayout>
    </ScrollView>

</LinearLayout>
package com.gusfree.fileio;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.http.util.ByteArrayBuffer;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class FileIoActivity extends Activity implements OnClickListener{

	TextView tv;
	Button btn1,btn2,btn3;
	ByteArrayBuffer bab; 

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		//뷰찾고 리스너 세팅하기
		tv=(TextView) findViewById(R.id.textView1);
		btn1=(Button) findViewById(R.id.button1);
		btn2=(Button) findViewById(R.id.button2);
		btn3=(Button) findViewById(R.id.button3);


		btn1.setOnClickListener(this);
		btn2.setOnClickListener(this);
		btn3.setOnClickListener(this);

	}
	int i=0;

	@Override
	public void onClick(View v) {
		switch(v.getId()){
		case R.id.button1: //text파일 내용읽어서 화면출력
			//Res폴더/raw/test.txt 가져오기
			InputStream is = 
			getResources().openRawResource(R.raw.text);

			int k=0;
			// read() 메서드는 한 바이트씩 읽어서 리턴,
			// 더이상 읽을 내용이 없으면 -1을 리턴합니다. 
			bab=new ByteArrayBuffer(50);			
			try{
				//while( ( k=is.read() )!= -1 ){
				for(  ;   ; ) {
					k=is.read();
					if(k==-1){
						break;
					}
					bab.append(k);					
				}         // 다 읽었다.
				//바이트배열버퍼 -> 스트링으로 변환시키기
				byte[] b = bab.toByteArray();
				String content = new String(b);
				tv.setText(content);
			}catch(Exception e){
			}
			break;
		case R.id.button2: //읽은 데이터를 파일로 저장하기
			i++;
			FileOutputStream  fos = null;
			try {
				fos = this.openFileOutput("test"+i+".txt",Activity.MODE_PRIVATE);
				fos.write(bab.toByteArray()); //save
				fos.flush() ;  // option 버퍼를 비워라
				fos.close();  // required 닫아라. 				

			} catch (Exception e) {	
				// window/ open perspective/ DDMS 추가
				// DDMS / Explorer / data/data/패키지/files/
			} finally{
				try{ if(fos!=null) fos.close();
				}
				catch(Exception e){
				}
			}
			break;
		case R.id.button3:
			break;
		}
	}
}

가운데 버튼(R.id.button2)를 눌렀을때.......


DDMS((Dalvik Debug Monitor Service)를 보면  

// DDMS / Explorer / data/data/패키지/files/ 생성되는 것을 볼 수 있다.


'Android > 2012.04월 강좌' 카테고리의 다른 글

8일차 숙제  (0) 2012.05.07
8일차 FileIO 3 - 저장된 파일 가져오기  (0) 2012.05.07
8일차 FileIO - text파일 내용읽어서 화면출력  (2) 2012.05.07
8일차 Draw 3 TouchEvent  (0) 2012.05.07
8일차 Draw 2 TouchEvent  (0) 2012.05.07

+ Recent posts