Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 尝试将分隔的txt文件扫描到字符串数组中_Java_Java.util.scanner - Fatal编程技术网

Java 尝试将分隔的txt文件扫描到字符串数组中

Java 尝试将分隔的txt文件扫描到字符串数组中,java,java.util.scanner,Java,Java.util.scanner,我试图读取一个以制表符分隔的txt文件,并将数据放入字符串数组的两列中 package mailsender; import java.io.*; import java.util.Scanner; public class MailSenderList { static String address=null; static String name=null; static String[][] mailer; // @SuppressWarnings("e

我试图读取一个以制表符分隔的txt文件,并将数据放入字符串数组的两列中

package mailsender;

import java.io.*;
import java.util.Scanner;

public class MailSenderList {
    static String address=null;
    static String name=null;
    static String[][] mailer;

   // @SuppressWarnings("empty-statement")
    public static void main(String[] args) throws IOException {

        try {
            Scanner s = new Scanner(new BufferedReader(new FileReader("/home/fotis/Documents/MailRecipients.txt"),'\t')); //This is the path and the name of my file

            for(int i=0;i>=30;i++){
               for(int j=0;j>=2;j++){
                   if (s.hasNext());{
                   mailer[i][j]=s.next(); //here i am trying to put 1st+2 word into first column and 2nd+2 into second column.
               }

               }
           }
            for(int ii=0;ii>=30;ii++){
                System.out.println("Line : ");
               for(int ji=0;ji>=2;ji++){
                   System.out.print(" " + mailer[ii][ji]);
//trying to print and check the array
               }
           }

        }
        catch (java.io.FileNotFoundException e) {
        System.out.println("Error opening file, ending program");
        //System.exit(1);}


    }
}
class mail{
mail(){

}

}
}

文件成功生成,但在
System.out.中没有结果。在
调试器中,它似乎从未从第一个
for
循环中通过。

您可能在之间犯了错误。尝试将两个for循环中的i>=30切换到i的确如此。for是非常错误的。但是我感到头晕。 尽管如此,混淆“”并不是真正的问题。 代码在运行时使用。 这是全班同学

import java.io.File;
import java.util.Scanner;

public class ReadFile {


    public static void main(String[] args) {

        try {

            File file = new File("/home/fotis/Documents/Mailers.txt"); //this a the path there
            try (Scanner input = new Scanner(file).useDelimiter("\\t")) {
                String line[] = new String[150000];
                int i=0;


                while (input.hasNextLine()) {
                    line[i] = input.next();
                    System.out.println(line[i]);
                    i++;
                }
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }

代码将永远不会输入任何一个for循环。你说的是i=0,虽然i大于或等于30,但它不是,所以它会退出循环。是的,这更有效。但你最初的问题是,你混淆了大于和小于。