Исключение файла не найдено с использованием потока ввода файла - PullRequest
1 голос
/ 10 января 2012

Я пытаюсь загрузить файл с моего жесткого диска в поток ввода файлов, используя приведенный ниже код.

package com.filefinder1;

import java.io.File;
import java.io.FileInputStream;
import android.app.Activity;
import android.os.Bundle;

public class FileFinder_1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try
        {
        String pathToFile = "C:\\\\Koala_Small.jpg";
        System.out.println("File Path: "+pathToFile);
        File file = new File(pathToFile);
         FileInputStream fileInputStream = new FileInputStream(file);
    }
    catch (Exception ex)
    {
    System.out.println("Error Catch Triggered: "+ex);
    }
    }
}

Я пробовал несколько разных вариантов пути к файлу, но ничего не возвращает следующую ошибку:

01-10 10:59:06.189: I/System.out(2218): Error Catch Triggered: java.io.FileNotFoundException: /C:\\Koala_Small.jpg (No such file or directory)

Некоторые, где по пути добавляются дополнительные "/" к пути к файлу (не знаю почему). Когда я прошу систему напечатать путь к файлу, прежде чем пытаться загрузить его в файловую переменную, он возвращает:

01-10 10:59:06.189: I/System.out(2218): File Path: C:\\Koala_Small.jpg

Я пробовал несколько разных вариантов пути к файлу (строчная буква "c", две косые черты вместо четырех ...), кажется, ничего не решило проблему. Кто-нибудь знает, что здесь может пойти не так?

Ответы [ 2 ]

5 голосов
/ 10 января 2012

Вы должны поместить файл в директорию вашего ресурса в вашем проекте Android.

Затем выполните следующее из вашей деятельности:

getAssets().open("Koala_Small.jpg");

Это вернет ваш поток ввода.

Как уже упоминалось в комментариях, эмулятор не имеет доступа к вашей файловой системе ПК, как вы пытаетесь это сделать.

0 голосов
/ 10 января 2012

поместите файл в ваш эмулятор и используйте только 2 косые черты для пути

...