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