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

안드로이드 텍스트파일 읽기

0 추천
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  final TextView tv = (TextView) findViewById(R.id.editText1);
  Button bt = (Button) findViewById(R.id.button1);
  bt.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    stra = tv.getText().toString();
    
   }
  });
  
  try {

   // getResources().openRawResource()로 raw 폴더의 원본 파일을 가져온다.
   // txt 파일을 InpuStream에 넣는다. (open 한다)

   String FILENAME = stra;
   
   FileInputStream in0 = openFileInput(FILENAME);
   InputStreamReader stream0 = new InputStreamReader(in0);
      
   InputStream in1 = getResources().openRawResource(R.raw.uj);//
   InputStream in2 = getResources().openRawResource(R.raw.yj);//
   
   if (in0 != null) {

    //InputStreamReader stream0 = new InputStreamReader(in0, "utf-8");
    InputStreamReader stream1 = new InputStreamReader(in1, "utf-8");
    InputStreamReader stream2 = new InputStreamReader(in2, "utf-8");
    BufferedReader buffer0 = new BufferedReader(stream0);
    BufferedReader buffer1 = new BufferedReader(stream1);
    BufferedReader buffer2 = new BufferedReader(stream2);

    String read0, read1, read2;
    //StringBuilder sb = new StringBuilder("");

    while ((read0 = buffer0.readLine()) != null) {
     // sb.append(read);
     arr0.add(read0 + "\n");
    }
    while ((read1 = buffer1.readLine()) != null) {
     // sb.append(read);
     arr1.add(read1 + "\n");
    }
    while ((read2 = buffer2.readLine()) != null) {
     // sb.append(read);
     arr2.add(read2 + "\n");
    }

    in0.close();
    in1.close();
    in2.close();

editTxt1으로 파일명을 입력받아서 buttion1을 누를경우 stra에 파일명에 저장되게 합니다.

그래서 stra 파일명으로 파일을 읽으려고 하는데 소스코드 에러는 안나는데 읽혀지지가않습니다.

파일을 어디에 저장할지 몰라서 바탕화면에 있는데 .. 텍스트파일을 어디에저장해야 읽어올수 있을까요?

getResources()로 읽은 uj와 yj는 res/raw에 저장해두어서  읽히지만 in0가 읽히지 않습니다.

파일명을 입력받아 받은 입력같과 동일하게 파일을 읽어오게 하고싶습니다. (in0부분이요)

도와주세요 ㅠㅠ

duswn (120 포인트) 님이 2014년 3월 9일 질문

1개의 답변

+1 추천
  1. event flow 에 대해서 먼저 공부해야 겠네요
  2. onclick event 는 click event listener 내에서만 적용 됩니다. 즉 stra 의 값은  onclick 내에 유효하게 된다는 뜻 입니다. 
  3. 현재 onclick 이후에 작성된 try 내 코드들은 onclick 과 별도로 동작 됩니다. onclick 에서 그 값을 참조하게 하고 싶으면 해당 코드를 onclick 안으로 이동 시키세요
  4. 경로는 sdcard 또는 apk 가 설치된 경로를 지정하시면 됩니다. 예로 /mnt/sdcard/ 나 /data/data/$your-pkg-name 정도 되겠네요
aucd29 (218,390 포인트) 님이 2014년 3월 10일 답변
...