如何使用逐行拆分文本?

时间:2014-04-10 16:28:05

标签: java arrays split

我正在尝试使用方法split来按行分割数据。这是我试图使用的代码,但我无法弄清楚用什么来表示.split()的参数。这就是数据在txt中的方式。

19
23
58
49


Scanner sc = new Scanner(new File("random.txt")); 
string line = sc.nextLine(); 
String[] numbers = line.split(" "); 
int nums = new int[numbers.length]; 
for(int i=0;i<numbers.length;i++) 
nums[i] = Integer.parseInt(numbers[i]);

最终目标是将数据放入数组中,而不是仅将其打印出来。

4 个答案:

答案 0 :(得分:2)

如果每行只有一个数字,则无需使用拆分。

只需使用以下

Scanner sc = new Scanner(new File("C:/projects/random.txt"));
        while( sc.hasNext()){
            System.out.println(sc.nextInt());
        }

答案 1 :(得分:1)

尝试使用它:

  

扫描仪sc =新扫描仪(新文件(&#34; random.txt&#34;));

     

int [] nums;

     

int i = 0;

     

while(sc.hasNext()){

String line = sc.nextLine(); 

nums[i] = Integer.parseInt(line);

i++;
     

}

希望这有帮助。

答案 2 :(得分:0)

就这么简单,你不需要split,因为你正在逐行阅读,@Luiggi Mendoza

Scanner sc = new Scanner(new File("C:/projects/random.txt"));
while( sc.hasNext()){
    nums[i] = Integer.parseInt(numbers[i]); //They're stored in here
    i++;
}
int max = i; //To keep length of numbers that have been read
for(i = 0; i < max; i++){
    System.out.println(nums[i]); //We print them from the array
}

答案 3 :(得分:0)

试试这个

while(true){
        int tmp=line.indexOf(" ");
        if(tmp==-1)
            break;
        System.out.println(ar[i]);
        ar[i++]=Integer.parseInt(line.substring(0,tmp));
        line =line.substring(tmp+1);    
    }