Java 如何读取我创建的.txt文件并计算其行数

Java 如何读取我创建的.txt文件并计算其行数,java,android-studio,android-studio-3.0,Java,Android Studio,Android Studio 3.0,我是Android Studio的新手,但我有两个问题 因此,目前我正在使用一种方法从.txt文件中获取行并将其转换为ArrayList。我使用的是文件阅读器和行号阅读器。当我运行程序时,捕获被激活,即使这段代码在Eclipse上工作 我的问题: 1.我目前正在资产的原始文件夹中存储.txt文件。这是正确的地方吗? 2.我使用的位置是“\res\raw\city.txt”,我是否调用了错误的文件 以下是我的代码(在Android Studio中)了解更多内容: //Method to t

我是Android Studio的新手,但我有两个问题

因此,目前我正在使用一种方法从.txt文件中获取行并将其转换为ArrayList。我使用的是文件阅读器和行号阅读器。当我运行程序时,捕获被激活,即使这段代码在Eclipse上工作

我的问题: 1.我目前正在资产的原始文件夹中存储.txt文件。这是正确的地方吗? 2.我使用的位置是“\res\raw\city.txt”,我是否调用了错误的文件

以下是我的代码(在Android Studio中)了解更多内容:

    //Method to take a file and convert into an ArrayList
    private ArrayList<String> txtArray(String fileLoc) throws IOException {
        int n = 22;

        File file = new File(fileLoc);

        //Counts how many lines are in the system
        try {
            FileReader fr = new FileReader(fileLoc);
            LineNumberReader lr = new LineNumberReader(fr);

            lr.skip(Long.MAX_VALUE);
            n = lr.getLineNumber();

            Toast errorToast3 = Toast.makeText(getActivity(), "the Number of lines is " + n, Toast.LENGTH_SHORT);
            errorToast3.show();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            Toast errorToast5 = Toast.makeText(getActivity(), "Fuk " + n, Toast.LENGTH_SHORT);
            errorToast5.show();
        }

        Toast errorToast3 = Toast.makeText(getActivity(), "Still ok here " + n, Toast.LENGTH_SHORT);
        errorToast3.show();

        //Takes lines from the text file and converts into Array List
        Scanner kb = new Scanner(new File(fileLoc));

        Toast errorToast7 = Toast.makeText(getActivity(), "Pls work " + n, Toast.LENGTH_SHORT);
        errorToast7.show();

        ArrayList<String> test = new ArrayList<String>();
        for (int i = 0; i < n; i++) {
            test.add(kb.nextLine());
            //kb.next();
        }

        return test;
//获取文件并转换为ArrayList的方法
私有ArrayList txtArray(字符串fileLoc)引发IOException{
int n=22;
文件=新文件(fileLoc);
//统计系统中有多少行
试一试{
FileReader fr=新的FileReader(fileLoc);
LineNumberReader lr=新的LineNumberReader(fr);
lr.skip(长最大值);
n=lr.getLineNumber();
Toast ErrorToast 3=Toast.makeText(getActivity(),“行数为”+n,Toast.LENGTH\u SHORT);
errorToast3.show();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
Toast ErrorToast 5=Toast.makeText(getActivity(),“Fuk”+n,Toast.LENGTH\u SHORT);
ErrorToast 5.show();
}
Toast ErrorToast 3=Toast.makeText(getActivity(),“此处仍然正常”+n,Toast.LENGTH\u SHORT);
errorToast3.show();
//从文本文件中获取行并转换为数组列表
扫描仪kb=新扫描仪(新文件(fileLoc));
Toast ErrorToast 7=Toast.makeText(getActivity(),“Pls work”+n,Toast.LENGTH\u SHORT);
ErrorToast 7.show();
ArrayList测试=新的ArrayList();
对于(int i=0;i
谢谢你的帮助

  • 你可能想要
  • 路径似乎是错误的,因为它使用了错误的斜杠,并且还使用了绝对路径(以
    /
    开头)。请尝试
    res/raw/city.txt

  • 您还可以查看

    谢谢您的帮助!资产文件夹是内部存储的一部分吗?如果是,我尝试使用File File=new File(getContext.getFilesDir(),fileLoc);不幸的是,这似乎不起作用。