2016-12-03 76 views
0

The file looks like this閱讀整數和JAVA

代碼目前我正在試圖從一個文本文件中的座標:

public static void main(String[] args) throws IOException { 

    String content = new Scanner(new File("test/input_file.txt")).useDelimiter("\\z").next(); 
    System.out.println(content); 
    String room = content.substring(0,3); 
    System.out.println("room size:"); 
    System.out.println(room); 

} 

我想讀取數據的每一個數據線,並能夠使用它們, 例如。第一行是10,我希望能夠創建一個變量來存儲它,但如果第一行是9,我的代碼將不會工作,因爲我使用的是子字符串。

那麼,如何讀取文件,並將數據放入多個變量? 例如我想讀取第一行並將其存儲在名爲room的變量中, 讀取第二行,並將其存儲爲firstcoordinate_x和firstcoordinate_y。

+1

什麼是你的問題? – Gendarme

+0

爲什麼如果線路只是一件事,你需要一個'子串'? –

+0

如果我不使用'substring',我怎麼能得到第一行的數據? –

回答

1

下面是前兩行的例子:

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


public class ParseFile 
{ 
    public static void main(String[] args) throws FileNotFoundException { 
     Scanner scanner = new Scanner(new File("input_file.txt")); 

     int roomSize = Integer.valueOf(scanner.nextLine()); 
     System.out.println("room size:"); 
     System.out.println(roomSize); 

     String first_xy = scanner.nextLine(); 
     String[] xy = first_xy.replaceAll("\\(|\\)", "").split(","); 
     int x1 = Integer.valueOf(xy[0]); 
     int y1 = Integer.valueOf(xy[1]); 

     System.out.println("X1:"); 
     System.out.println(x1); 
     System.out.println("Y1:"); 
     System.out.println(y1); 

     scanner.close(); 
    } 
}