Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在类似java的csv文件中读取文本文件_Java_Loops - Fatal编程技术网

在类似java的csv文件中读取文本文件

在类似java的csv文件中读取文本文件,java,loops,Java,Loops,我在文件数组中循环时遇到了一个问题 以下是阅读代码: public static ArrayList<String> readData(int colNo) { Scanner sca; try { sca = new Scanner(new File("txt1.txt")); while(sca.hasNext()) { String data=sca.next

我在文件数组中循环时遇到了一个问题

以下是阅读代码:

public static  ArrayList<String> readData(int colNo)  {

        Scanner sca;
        try {
            sca = new Scanner(new File("txt1.txt"));
            while(sca.hasNext()) {
                String  data=sca.next();
                String[] value=data.split(",");
                System.out.println(value[colNo]);
            }
            sca.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;


    }

我不确定是否正确理解了您的问题,但如果您试图逐行打印文件,尝试使用bufferedReader和readLine:

FileReader fr = new fileReader(“filename”); 
BufferedReaderbr = new BufferedReader(fr);
string l; 
l = br.readLine();
那么


当没有更多行可读取时,bufferedReader流方法readLine返回null。希望这有帮助

这是我问题的解决方案,它是有效的。希望它能帮助别人

public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub

    ArrayList < String > empname = new ArrayList < String > ();
    ArrayList < String > empsalary = new ArrayList < String > ();
    loadData(empid, empname, empsalary);

    for (int i = 0; i < empname.size(); i++) {
        //do some event here
    }

}


public static void loadData(ArrayList < String > empid, ArrayList < String > empname, ArrayList < String > empsalary) {

    try {
        File file = new File("empdata.txt");
        Scanner scanner = new Scanner(file);

        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            String tokens[] = line.split("\\|");
            empid.add(tokens[0].trim());
            empname.add(tokens[1].trim());
            empsalary.add(tokens[2].trim());

        }

        scanner.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

欢迎来到堆栈溢出!请参加并访问我们的网站,了解哪些问题适合本网站。如果你能让你的问题符合这个网站的要求,请这样做。不,我正在尝试阅读我给它的行式excel代码,就像读取逗号后的值,在数组中或类似这样的东西
FileReader fr = new fileReader(“filename”); 
BufferedReaderbr = new BufferedReader(fr);
string l; 
l = br.readLine();
    while((l = br.readline())(=null) {
}
public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub

    ArrayList < String > empname = new ArrayList < String > ();
    ArrayList < String > empsalary = new ArrayList < String > ();
    loadData(empid, empname, empsalary);

    for (int i = 0; i < empname.size(); i++) {
        //do some event here
    }

}


public static void loadData(ArrayList < String > empid, ArrayList < String > empname, ArrayList < String > empsalary) {

    try {
        File file = new File("empdata.txt");
        Scanner scanner = new Scanner(file);

        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            String tokens[] = line.split("\\|");
            empid.add(tokens[0].trim());
            empname.add(tokens[1].trim());
            empsalary.add(tokens[2].trim());

        }

        scanner.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}