Java 在Android Studio中读取数字文本文件,并将每个数字放入数组索引中

Java 在Android Studio中读取数字文本文件,并将每个数字放入数组索引中,java,android-studio,Java,Android Studio,我有这样一个文本文件:p102_triangles.txt,其中包含如下数据: -340495,-153,-910835,-947 -175,41,-421,-714574,-645 -547712,-352579951,-786 419,-864,-83650,-399171 -429,-89,-357,-930296,-29 -734,-702823,-745,-684,-62 -971762925,-776,-663,-157 我想在Android Studio中读取这个txt文件,并将

我有这样一个文本文件:p102_triangles.txt,其中包含如下数据:

-340495,-153,-910835,-947

-175,41,-421,-714574,-645

-547712,-352579951,-786

419,-864,-83650,-399171

-429,-89,-357,-930296,-29

-734,-702823,-745,-684,-62

-971762925,-776,-663,-157

我想在Android Studio中读取这个txt文件,并将每个数字放入整数数组索引中

这是我的java文件:

package com.example.davinci.trianglecontainment;

import android.app.Activity;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class triangleContainment extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.triangle_containment_layout);
    }

}
这是我在应用程序中的文件夹树:


您基本上需要将文本文件读入字符串,然后按换行符和逗号拆分字符串。有一种方法可以做到这一点:

private static String readTextFileFromAssets(Context context, String fileName){
    String ret = "";
    final android.content.res.AssetManager am = context.getResources().getAssets();
    java.io.InputStream is = null;
    try{
        is = am.open(fileName);

        if(is != null){
            java.io.BufferedReader r = new java.io.BufferedReader(new java.io.InputStreamReader(is), 8000);
            StringBuilder total = new StringBuilder();
            String line;
            while ((line = r.readLine()) != null) {
                total.append(line);
            }
            ret = total.toString();
        }


    }catch(Exception e){
        //handle error reading text file here
    }

    //return
    return ret;

}

private static java.util.ArrayList<Integer> readFileIntoArray (Context context) {
    String file = readTextFileFromAssets(context, "p102_triangles.txt");
    java.util.ArrayList<Integer> ret = new java.util.ArrayList<>();
    String[] lines = file.split("\n");
    for (String line : lines) {
        String[] values = line.split(",");
        for (String value : values) ret.add(Integer.parseInt(value));
    }
    return ret;
}
私有静态字符串readTextFileFromAssets(上下文,字符串文件名){
字符串ret=“”;
最终的android.content.res.AssetManager am=context.getResources().getAssets();
java.io.InputStream为空;
试一试{
is=am.open(文件名);
如果(is!=null){
java.io.BufferedReader r=new java.io.BufferedReader(new java.io.InputStreamReader(is),8000);
StringBuilder总计=新StringBuilder();
弦线;
而((line=r.readLine())!=null){
合计.追加(行);
}
ret=total.toString();
}
}捕获(例外e){
//在此处处理读取文本文件时出错
}
//返回
返回ret;
}
私有静态java.util.ArrayList readFileIntoArray(上下文){
字符串文件=readTextFileFromAssets(上下文,“p102_triangles.txt”);
java.util.ArrayList ret=new java.util.ArrayList();
字符串[]行=file.split(“\n”);
用于(字符串行:行){
字符串[]值=行。拆分(“,”);
对于(字符串值:值)ret.add(Integer.parseInt(值));
}
返回ret;
}

那么,您想让我们为您编写代码吗?