额 用了你的方法: File a = new File("h:/test.txt"); int i = 0; String arr[][]= new String[30][40]; if(a.exists()){ FileInputStream fi = new FileInputStream(a); InputStreamReader isr = new InputStreamReader(fi, "GBk"); BufferedReader bfin = new BufferedReader(isr); String rLine = ""; while((rLine = bfin.readLine())!=null){ arr[i][0] = rLine.substring(0, rLine.indexOf("#")); arr[i][1] = rLine.substring(rLine.indexOf("#")+1,rLine.indexOf("*")); arr[i][2] = rLine.substring(rLine.indexOf("*")+1); i++; } }但是提示错误: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1938) at Test.main(Test.java:39)
a[0][0] = str.substring(0, str.indexOf("#"));
a[0][1] = str.substring(str.indexOf("#")+1,str.indexOf("*"));
a[0][2] = str.substring(str.indexOf("*")+1);
File a = new File("h:/test.txt");
int i = 0;
String arr[][]= new String[30][40];
if(a.exists()){
FileInputStream fi = new FileInputStream(a);
InputStreamReader isr = new InputStreamReader(fi, "GBk");
BufferedReader bfin = new BufferedReader(isr);
String rLine = "";
while((rLine = bfin.readLine())!=null){
arr[i][0] = rLine.substring(0, rLine.indexOf("#"));
arr[i][1] = rLine.substring(rLine.indexOf("#")+1,rLine.indexOf("*"));
arr[i][2] = rLine.substring(rLine.indexOf("*")+1);
i++;
}
}但是提示错误:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1938)
at Test.main(Test.java:39)
第二个问题没看明白。