Я новичок в Android, поэтому извиняюсь, если это кажется тривиальным, и длинный пост. Я гуглил и т. Д., Но единственные ссылки на Android, которые я могу найти, похоже, относятся к
InputStream is = getAssets().open("read_asset.txt");
int size = is.available();
// Read the entire asset into a local byte buffer.
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
Я пытался использовать это в своем классе, но даже после импорта java.io.InputStream; ошибка в getAssets ().
Я пытаюсь использовать rowId для просмотра списка;
открыть текстовый файл (зависит от значения rowId),
читать файл построчно,
создать массив строк из первых 16 символов и т. д.
затем используйте массив для заполнения списка следующего действия.
String[] sectID = null; //to be loaded in listview
switch (rowId){
case 0://custom, go to section input screen
case 1:
readSectionFile s = new readSectionFile("Sect_US.dat");
sectID=s.arrayShapesAll();
Мой класс readSectionFile (извлечение):
public readSectionFile(String FileName) {
//Count the number of section records in the data file
String line = null; // String that holds current file line
int recordcount = 0; // Line number of count
try{
BufferedReader buf = new BufferedReader(new FileReader(FileName));
// Read file to count records
while ((line = buf.readLine()) != null){ //null = EOF
line = buf.readLine();
if (line.substring(0, 1).equals("*") || line.length() == 0) { //== comment or blank line
//do nothing
}else{
recordcount++;
}
}//while
buf.close();
}catch (IOException x){
x.printStackTrace();
}//end try
// Now read file to load array
mSectionIDArray = new String[recordcount + 1];
mSectionIdx = new int[recordcount + 1][2];
mData = new double[recordcount + 1][15];
int c=0;
String sectdata = null; // String that holds current file line
try {
BufferedReader buf = new BufferedReader(new FileReader(FileName));
while ((sectdata = buf.readLine()) != null){ //null = EOF
sectdata = buf.readLine();
Код не работает и вылетает при чтении readSectionFile s = новый readSectionFile ("Sect_US.dat");
также в коде readSectionFile второй экземпляр buf генерирует ошибку Eclipse, запрашивающую блок try, catch, тогда как первый экземпляр принимается.
Мои вопросы
Собираюсь ли я открыть этот текстовый файл (в / assets) правильно?
Что не так со вторым использованием buf?