Расположение файла для fileinputstream
Я делаю проект для Android, и у меня есть файл формата.bin, который я положил прямо в корень моего проекта Java (не в какую-либо папку). Я попытался получить его с помощью FileInputStream, например ниже:
InputStream file = new FileInputStream("filename.bin");
Но он не мог прочитать файл.
Где я должен положить мой бен файл? или есть что-то еще, что мне нужно принять к сведению?
[Изменить] Ошибка:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/ref/FinalReference
[Изменить] Решение: Найти решение можно здесь >> Ошибка Eclipse: NoClassDefFoundError: java / lang / ref / FinalReference.
1. Find Running configurations -> java application
2. In the new configuration's Classpath tab, find "Android Library" under Bootstrap Entries and remove it.
3. Still in the Classpath tab, select Bootstrap Entries and click the Advanced button.
4. Choose Add Library and click OK.
5. Select JRE System Library and click Next.
6. Select Workspace Default JRE and click Finish.
3 ответа
FileInputStream также принимает файл в один из своих конструкторов.
Ты можешь сделать
File f = new File("filename.bin")
if (f.isFile()) {
InputStream is = new FileInputStream(f);
}
else {
//cope with missing file
}
Таким образом, если файл исчезнет или не окажется там, где вы думаете, вы не получите исключение FileNotFoundException
@Srigan делает хорошее замечание, чтобы попробовать / infront
Приведенный выше синтаксис означает, что файл filename.bin
находится в той же папке, что и ваш код. Попробуйте указать абсолютный путь к файлу или поместите файл в src
папка и использование
InputStream file = new FileInputStream("/filename.bin");
Чтобы получить текущий рабочий каталог: System.getProperty("user.dir"));