读取txt文件并在拆分操作未打印数组值后打印

时间:2018-08-18 17:13:11

标签: java

我正在尝试读取txt文件,然后将拆分的值存储在then数组中,并打印所有txt文件的值。但这不是打印值。

这是txt文件值的显示方式,如下所示:

"1675683811","590483002"
"2002199221","876015525"

以下是我的代码:

String st;
BufferedReader Br = null;
File objFile = new File("C:\\DATA\\File.txt");
Br = new BufferedReader(new FileReader(objFile));
while ((st = Br.readLine()) != null) {
    String value = st.replace("\"", "");
    String[] arraylist = StringUtils.split(value, ",");                     
    for (int i = 0; i <= 1; i++) {
        System.out.println(arraylist[i]);
    }
}                   
Br.close();

2 个答案:

答案 0 :(得分:1)

也许尝试编写如下代码。我更改了split的声明以及显示值的方式,因为您的方式可能会使对象arraylist出现异常:

function androidOrIOS() {
    const userAgent = navigator.userAgent;
    if(/android/i.test(userAgent)){
        return 'android';
    }
    if(/iPad|iPhone|iPod/i.test(userAgent)){
        return 'ios';
    }
}

答案 1 :(得分:1)

对代码进行小的更改,您只需使用String.split方法,您的for循环将始终抛出ArrayOutOfBound异常

String st;
    BufferedReader Br = null;
    File objFile = new File("/Users/a602782/input.txt");
    Br = new BufferedReader(new FileReader(objFile));
    while ((st = Br.readLine()) != null) {
        String value = st.replace("\"", "");
        String[] arraylist = value.split(",");                    
        for (int i = 0; i <arraylist.length; i++) {
            System.out.println(arraylist[i]);
        }
    }                   
    Br.close();

如果要在每一行上打印每个数字,可以在for循环内再次循环

String st;
    BufferedReader Br = null;
    File objFile = new File("/Users/a602782/input.txt");
    Br = new BufferedReader(new FileReader(objFile));
    while ((st = Br.readLine()) != null) {
        String value = st.replace("\"", "");
        String[] arraylist = value.split(",");                    
        for (int i = 0; i <arraylist.length; i++) {
            System.out.println(arraylist[i]);
            for (char c:arraylist[i].toCharArray()) {
                System.out.println(c);
            }
        }
    }                   
    Br.close();