2014-04-25 62 views
0

我遇到問題。我編寫了這段代碼,它從txt文件中讀取一個字符串,並使用第一個方法導出了一個int,而第二個方法則導出了特定的字符串。這個方法已經在運行,但我已經使用了apache庫,現在我想用Java標準庫重寫它。我已經嘗試過,但是我遇到了問題。有人能幫助我嗎?非常感謝你。Apache庫到標準Java

package ausiliare; 

import java.io.File; 
import java.io.IOException; 
import org.apache.commons.io.*; 

public class Read { 
public static int getInt() throws IOException { 

    String content = null; 
    File folder = new File("C:\\Solution.txt"); 

    content = FileUtils.readFileToString(folder) + "\n"; 

    int outside = Integer.parseInt(content.substring(0, 
      content.indexOf("[")).trim()); 
    return outside; 
} 

public static String getString() throws IOException { 
    String content = null; 
    File folder = new File("C:\\Solution.txt"); 
    content = FileUtils.readFileToString(folder) + "\n"; 
    String remainingString = content.substring(content.indexOf(" ["), 
      content.lastIndexOf("]") + 1); 
    // System.out.println(remainingString); 
    return remainingString; 

} 

public static String[] arg() throws IOException { 
    String[] strArray = getString().split(" "); 
    // System.out.println(Arrays.toString(strArray)); 
    return strArray; 

} 

}

PS:輸入文件是TXT(例如):

50 [8,24,-22] [-8,34,12] [19,14,47] [-49,32,44] [-41,16,-6] [-49,-11,43] 

當第一方法提取INT 50和第二提取方法中提取的剩餘

+0

歡迎來到StackOverflow,你到目前爲止嘗試過什麼? –

+0

所以,你使用的唯一方法是'FileUtils.readFileToString',對吧?看看:http://stackoverflow.com/questions/326390/how-to-create-a-java-string-from-the-contents-of-a-file – Veluria

+0

嗨我試圖運行,所有標準java庫。但我在提取子串方面沒有問題。我無法閱讀與apache相同的內容。謝謝 – theblitz

回答

0
content = new String(Files.readAllBytes(folder.toPath()), 
     StandardCharsets.UTF_8); 

缺少的部分是Files類的知識。

也有List<String> readAllLines

字符集參數是可選的,默認爲當前操作系統的編碼 - 對其他計算機不是很便於攜帶。