2014-05-19 2 views
0

일부 pdf 파일을 data/data/com에 다운로드해야합니다. **. * 폴더.data/data/com. ****. *** 폴더로 파일을 다운로드하는 방법

해당 파일은 응용 프로그램에 따라 다르며 응용 프로그램에서만 읽고 데이터를 표시해야하므로 data/data/com에 저장해야합니다. **. * 폴더.

해당 폴더로 다운로드하여 응용 프로그램에서 열고 읽는 방법을 알려주십시오.

SD 카드에 다운로드하는 방법을 알고 있지만 응용 프로그램 특정 폴더로 다운로드 할 생각이 없습니다.

이 작업을 수행하는 데 필요한 몇 가지 코드 예를 알려주고 data/data/com의 용량/크기를 알아야합니다. **. * 폴더.

+0

에 쓰기 파일 권한을 추가해야합니다, 당신에게 예를 제공하고있다 카드를 사용하면 내부 메모리에있는 앱의 특정 디렉토리로도이를 수행 할 수 있습니다. 모든 코드는 정확히 동일합니다. 그래서 나는 왜 당신이 명백한 것을 요구하는지 이해하지 못합니다. 경로를 변경하기 만하면됩니다. – greenapps

답변

2

자신의 응용 프로그램 데이터 폴더를 작성하려는 경우 해당 출력 스트림을 사용하여 파일을 저장하는 것보다 FileOutputStream out = new FileOutputStream("/data/data/com.**.*/somefile");과 같은 FileOutputStream을 만들 수 있습니다. 같은 방법으로 FileInputStream을 만들고 그 후에 파일을 읽을 수 있습니다.

다른 응용 프로그램의 데이터 폴더에 액세스하려고하면 권한이 거부됩니다.

나는 용량 확실하지 오전하지만 당신은 내가 튜토리얼의 링크가 설명 연결하고 여기

File dataFolder = new File("/data/data/com.**.*/"); 
long size = folderSize(dataFolder); 

... 

public static long folderSize(File directory) { 
    long length = 0; 
    for (File file : directory.listFiles()) { 
     if (file.isFile()) 
      length += file.length(); 
     else 
      lengthlong += folderSize(file); 
    } 
    return length; 
} 
0

안녕을 사용하여 데이터 폴더의 크기를 계산할 수 있습니다.

http://www.mysamplecode.com/2012/06/android-internal-external-storage.html

거기는 데이터/데이터 폴더의 데이터를 액세스하기 위해 휴대 전화를 근절해야 인터넷에가는 많은 토론이 있고 나는 또한 토론에 대한 몇 가지 링크를 부착하고, 나는이 또한 희망 귀하의 질문에 몇 가지 링크뿐만 아니라

where do i find app data in android

How to access data/data folder in Android device?

와 관련된 링크 중 일부는 밖으로 만든다 휴대 전화를 응원하지 않고 일이 당신이

http://denniskubes.com/2012/09/25/read-android-data-folder-without-rooting/

0

파일 쓰기에 장치를 응원하지 않고 /data/data/com*.*에 액세스 할 수 있습니다 의미

FileOutputStream out = new FileOutputStream("/data/data/your_package_name/file_name.xyz"); 

To 파일 읽기

FileInputStream fIn = new FileInputStream(new File("/data/data/your_package_name/file_name.xyz")); 

입력 스트림이 생겼으므로 파일 형식에 따라 파일로 변환 할 수 있습니다.파일은 우리가 다음과 같은 작업을 수행 할 수 있습니다 String 데이터를 포함하는 경우 나는 당신이 SD에 다운로드하는 방법을 알고 있다면

BufferedReader myReader = new BufferedReader(
        new InputStreamReader(fIn)); 
      String mDataRow = ""; 
      String mBuffer = ""; 
      while ((mDataRow = myReader.readLine()) != null) { 
       mBuffer += mDataRow + "\n"; 
      } 

AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
관련 문제