50 [40,-13,-6,-7,-4] [28,-40,45,-29,37] [-43,19,-24,-9,-45] [26,-41,-28,-16,44]
或
4 [-3,-1,2] [-2,-4,1] [-3,2,1] [-2,3,-4] [4,2,1] [4,-1,2] [3,-4,1] [-3,-2,-4]
我必须使用数字50或4或括号中的其他数字作为int。但是所有其他内容必须在特定字符串中提取,然后传递给方法。 谁有解决方案? 重要提示:文件内容是可变的
答案 0 :(得分:0)
如果/Application/testdata/ntd.txt
是您的txt文件的路径,那么下面的代码将起作用(我猜你的要求是什么)。
public static void main(String[] args) throws IOException
{
String content=null;
File folder = new File("/Application/testdata/ntd.txt");
content = FileUtils.readFileToString(folder)+"\n";
System.out.println(content);
int outside=Integer.parseInt(content.substring(0, content.indexOf("[")).trim());
System.out.println("int val: "outside);
String remainingString=content.substring(content.indexOf("["), content.lastIndexOf("]")+1);
System.out.println("String value: "remainingString);
}
输出:
50 [40,-13,-6,-7,-4] [28,-40,45,-29,37] [-43,19,-24,-9,-45] [26,-41,-28,-16,44]
int val: 50
String value: [40,-13,-6,-7,-4] [28,-40,45,-29,37] [-43,19,-24,-9,-45] [26,-41,-28,-16,44]
我使用apache commons进行文件读取。如果你想进一步打破remainingString
,那么根据SPACE字符拆分它。