如何使用fileReader读取Android Studios中的文本文件数据?

时间:2018-02-21 00:20:47

标签: java android text filereader

我有一个在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代码。

1 个答案:

答案 0 :(得分:2)

  

我在“main”目录中创建的资产文件夹中放置了一个名为“cards.txt”的文本文件

这是您的开发计算机上的文件。它不是Android设备上的文件。

  

我见过InputStream is = getAssets()。open(“file.txt”);正在使用

这是正确的使用方法。

  

但我希望保持我的方法大致相同而不重写我的fileReader代码。

然后传入InputStream而不是String传递给addTextFilesToCardsArrayList()。将FileReader替换为InputStreamReader。在Android中,使用InputStream中的getAssets().open()。在其他地方,使用FileInputStream