По сути, я думаю, что это может быть проблема со структурой проекта, поскольку я не уверен, куда поместить текстовый файл, я создал каталог активов и поместил в него папку с именем texts, а в нее поместил myawesometext.txt.
Ошибка, которую я получаю, - это вызываемое исключение, которое не может найти файл.
Я думал, что это может быть связано с разрешениями, но не смог найти разрешения, связанные с ним, поскольку это не внешнее хранилище.
Мой вопрос: если у меня есть файл, и я запускаю приложение, где я должен создать папку ресурсов в структуре для чтения. Я дважды проверил орфографию (без опечаток), он просто улавливает мое исключение.
класс:
public class AssetsTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
setContentView(textView);
AssetManager assetManager = getAssets();
InputStream inputStream = null;
try {
inputStream = assetManager.open("texts/myawesometext");
String text = loadTextFile(inputStream);
textView.setText(text);
} catch (IOException e) { textView.setText("Couldn't load file");
} finally {
if (inputStream != null)
try { inputStream.close();
} catch (IOException e) { textView.setText("Couldn't close file");
} }
}
public String loadTextFile(InputStream inputStream) throws IOException { ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); byte[] bytes = new byte[4096];
int len = 0;
while ((len = inputStream.read(bytes)) > 0) byteStream.write(bytes, 0, len);
return new String(byteStream.toByteArray(), "UTF8"); }
}
Заранее спасибо... Бен




Расположение вашей папки активов неверно, и ваш код также неверен. Пожалуйста, выполните следующие действия.
Сначала переместите текущую папку assets в src/main.
Во-вторых, измените эту строку в вашем коде с
inputStream = assetManager.open("texts/myawesometext");
к
inputStream = assetManager.open("texts/myawesometext.txt");
@beni Рад это слышать. Удачного кодирования :)
Гений, большое спасибо, Томми, ты лучший!! простая ошибка, оглядываясь назад, просто не могла ее увидеть. Я пробовал разные имена каталогов файлов, но проблема заключалась в том, что ее не было в src main. Еще раз спасибо