我在java中使用substring()总是出现越界的情况,求指教啊~~~~~~inti=0;JFileChooserfc=newJFileChooser();fc.showSaveDialog(null);Filefile=fc.getSelectedFile();//获取所选的文件名...
我在java中使用substring()总是出现越界的情况,求指教啊~~~~~~
int i=0;
JFileChooser fc=new JFileChooser();
fc.showSaveDialog(null);
File file=fc.getSelectedFile(); //获取所选的文件名
FileWriter fw;
try {
fw = new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
String text=tatext.getText().toString();//tatext为一个文本域
String line="";
while(text!=null)
{
i=0;
System.out.println("text的长度:"+text.length());
while(i>-1&&i
{
i++;
System.out.println("i="+i);
}
System.out.println("回车!!!");
line=text.substring(0, i);
System.out.println("line="+line);
text=text.substring(i+1);//提示错误
System.out.println("text="+text);
bw.write(line);
bw.newLine();
}
bw.close();
fw.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
打印结果:
text的长度:8
i=1
回车!!!
line=a
text=bb
ccc
text的长度:6
i=1
i=2
回车!!!
line=bb
text=ccc
text的长度:3
i=1
i=2
i=3
回车!!!
line=ccc
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1938)
at java.lang.String.substring(String.java:1905)
at GUI.actionPerformed(GUI.java:155)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)……
展开