#java #android #android-layout
#java #Android #android-layout
Вопрос:
Я создаю приложение, в котором я перечисляю учителей и все, что они делают в моей школе. У меня есть 3 файла, class Teacher, который представляет собой объект, содержащий 7 строковых переменных, класс TeacherList, в котором я беру файл .txt и извлекаю из него свои данные, чтобы сформировать учителей. Вот в чем заключается моя проблема, куда я должен поместить файл? Вот код списка учителей:
package com.mthebron.mthapp;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class TeacherList {
public static Teacher[] MakeList() throws FileNotFoundException{
Teacher[] teachers=new Teacher[71];
File list=new File("C:/Users/Gareth/Desktop/TeacherInformation.txt");
Scanner iScanner=new Scanner(list);
StringBuilder teachersBuilder=new StringBuilder();
while(iScanner.hasNext()) {
teachersBuilder.append(iScanner.nextLine());
teachersBuilder.append("n");
}
String fullList=teachersBuilder.toString();
String[] seperatedList=fullList.split("'");
String[] blah=seperatedList[0].split("n");
String temp=blah[0].substring(3, 9);
String name=temp;
String department=blah[1];
String planning=blah[2];
String club=blah[3];
String sport=null;
String email=blah[5];
String website=null;
teachers[0]=new Teacher(name, department, planning, club, sport, email, website);
System.out.println(teachers[0].getSportsCoached());
for (int i = 1; i < seperatedList.length; i ) {
blah=seperatedList[i].split("n");
name=blah[1];
department=blah[2];
if (blah[3].equals("null")) {
planning=null;
}else planning=blah[3];
if (blah[4].equals("null")) {
sport=null;
}else sport=blah[4];
if (blah[5].equals("null")) {
club=null;
}else club=blah[5];
if (blah[6].equals("null")) {
email=null;
}else email=blah[6];
if (blah[7].equals("null")) {
website=null;
}else website=blah[7];
teachers[i]=new Teacher(name, department, planning, sport, club, email, website);
}
return teachers;
}
Куда я должен поместить файл и сможет ли он по-прежнему работать как файловый объект?
Ответ №1:
Если вы не знаете, куда поместить файл, вы можете просто сказать
File list = new File("TeacherInformation.txt")
и он сохранит его локально, вы сможете получить к нему доступ таким же образом
Комментарии:
1. ну, где будет «локально», например, в какой папке проекта Android?
Ответ №2:
Это фиксированный файл или вы добавляете к нему? Если исправлено, поместите в папку assets. Что-то вроде…
Scanner iScanner=new Scanner(getAssets().open("TeacherInformation.txt"));
Комментарии:
1. когда я добавил эту строку, я получаю сообщение об ошибке, в котором говорится, что getAssets не является методом
2. также файл исправлен, и я добавил его в папку assets
3. Вам нужен «Контекст». Я предполагал, что вы звоните непосредственно из своей активности. Смотрите здесь: developer.android.com/reference/android/content /…