我有一个在Java中工作的fileReader,但同样的方法对Android Studios不起作用。我在Eclipse中用来读取文本文件数据的代码是:
public void addTextFilesToCardsArrayList(String fileName) throws IOException{
FileReader freader = new FileReader(fileName);
BufferedReader reader = new BufferedReader(freader);
String line = null;
try {
while ((line = reader.readLine()) != null) { //Read a file line by line
String[] split = line.split(","); //Parse the line in to usable fragments
int cardNumber = Integer.parseInt(split[0]);
String cardId = split[1];
int apc = Integer.parseInt(split[2]);
int hp = Integer.parseInt(split[3]);
String type = split[4];
Card card = new Card(cardNumber, cardId, apc, hp, type);
cards.add(card);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
我放了一个名为" cards.txt"的文本文件。在我在" main"中创建的资产文件夹中目录。通常情况下,我将其作为" cards.txt"等参数传递给它。在Eclipse中。如何在Android Studios fileReader中使用它?
我看过InputStream是= getAssets()。open(" file.txt");正在使用但我喜欢保持我的方法大致相同而不重写我的fileReader代码。
答案 0 :(得分:2)
我在“main”目录中创建的资产文件夹中放置了一个名为“cards.txt”的文本文件
这是您的开发计算机上的文件。它不是Android设备上的文件。
我见过InputStream is = getAssets()。open(“file.txt”);正在使用
这是正确的使用方法。
但我希望保持我的方法大致相同而不重写我的fileReader代码。
然后传入InputStream
而不是String
传递给addTextFilesToCardsArrayList()
。将FileReader
替换为InputStreamReader
。在Android中,使用InputStream
中的getAssets().open()
。在其他地方,使用FileInputStream
。