2017-02-02 3 views
0

하나의 액티비티에 임시 파일을 만들고 다른 파일로 읽으려고합니다. 인 텐션 번들을 사용하여 보낼 수 없기 때문에 임시 파일을 만들려고했습니다. 문제는,이 문제에 붙어있어.android에서 임시 데이터를 읽는 방법

나는 이미 임시 파일 만드는 방법을 알고

try{ 

     //create a temp file 
     File temp = File.createTempFile("tempfile", ".tmp"); 

    //write it 
     BufferedWriter bw = new BufferedWriter(new FileWriter(temp)); 
     bw.write("This is the temporary file content"); 
     bw.close(); 

     System.out.println("Done"); 

    }catch(IOException e){ 

     e.printStackTrace(); 

    } 

가 어떻게 TempFilePath 얻을 :

try{ 

     //create a temp file 
     File temp = File.createTempFile("temp-file-name", ".tmp"); 

     System.out.println("Temp file : " + temp.getAbsolutePath()); 

    //Get tempropary file path 
     String absolutePath = temp.getAbsolutePath(); 
     String tempFilePath = absolutePath. 
      substring(0,absolutePath.lastIndexOf(File.separator)); 

     System.out.println("Temp file path : " + tempFilePath); 

    }catch(IOException e){ 

     e.printStackTrace(); 

    } 

그리고 지금은 내용을 읽을 수를, 나는 this 자습서를 다음되었지만 아무튼 나는 활동을 연장하지 않는 수업의 내부를 읽으려고하기 때문에 나를 위해 일하지 않을 것인가?

+0

한 활동에서 다른 활동으로 파일 경로를 보내십시오 (보통 우리가 데이터를 보내듯이). 두 번째 활동에서 새 임시 파일을 만들지 마십시오. – Selvin

+0

두 번째는 단지 예일뿐입니다. 실제는 'temp .getAbsolutePath();', 이제 내용을 읽어야합니다. –

답변

1

createTempFile()을 사용하여 임시 파일을 만든 경우 다음은 메모리에 다시 읽는 방법의 예입니다. 이 사용자가 만든 임시 파일이 텍스트 파일 인 경우에만 작동

// "temp" is what you get from createTempFile(). 
String path = temp.getPath(); 

FileReader fileReader = new FileReader(path); 
BufferedReader bufferedReader = new BufferedReader(fileReader); 
String buffer; 
StringBuilder stringBuilder = new StringBuilder(); 

while ((buffer = bufferedReader.readLine()) != null) { 
    stringBuilder.append(buffer); 
} 

// Use "stringBuilder.toString()" if you want to convert it to String. 

참고; 그렇지 않은 경우, DataInputStream 등의 다른 것을 고려하고 싶을지도 모릅니다.