关于修改文本内容的问题,代码异常,求大侠帮忙改
package com.soft.flie;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Scanner;
public class File {
public void rw()
{
try
{
FileWriter fw = new FileWriter("d:/b.txt",true);
BufferedWriter bw =new BufferedWriter(fw);
String s="";
Scanner in = new Scanner(System.in);
while(true)
{
System.out.println("输入数据:");
int id = in.nextInt();
if( id!= 0){
s = in.next();
int age = in.nextInt();
String sex = in.next();
bw.write("编号: "+id+" 姓名: "+s+" 年龄: "+age+" 性别: "+sex);
bw.newLine();
}
else
{
break;
}
}
bw.flush();
bw.close();
fw.close();
FileReader fr = new FileReader("d:/b.txt");
BufferedReader br = new BufferedReader(fr);
ArrayList<String> list = new ArrayList<String>();
String str;
while(!((str=br.readLine())==null))
{
System.out.println(str);
list.add(str);
}
System.out.println("请输入要修改的编号:");
String b = in.next();
int size = list.size();
int update = 0;
for(int i=0;i<size;i++)
{
String content = list.get(i);
String idd[] = content.split(" ");
for(int j=0;j<idd.length;j++)
{
System.out.println(idd[j]);
}
//String iddd = idd[j];
if(b.equals(idd[1]))//从此处抛出异常
update=i;
else
System.out.println("没找到");
}
System.out.println("请修改内容:");
String con = in.next();
list.set(update, con);
FileWriter fw1 = new FileWriter("d:/b.txt");
BufferedWriter bw1 =new BufferedWriter(fw1);
int len = list.size();
for(int i=0;i<len;i++)
{
bw1.write(list.get(i));
bw1.newLine();
bw1.flush();
}
fw1.close();
bw1.close();
FileReader fr1 = new FileReader("d:/b.txt");
BufferedReader br1= new BufferedReader(fr1);
ArrayList<String> list1 = new ArrayList<String>();
String str1;
while(!((str1=br1.readLine())==null))
{
System.out.println(str1);
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
异常 ArrayList --------------------编程问答-------------------- 没看出有什么异常,倒是看出逻辑有问题,没找到编号就直接往下叫输入修改内容啊 --------------------编程问答-------------------- 我知道了,if(b.equals(idd[1]))//从此处抛出异常,如果b的长度小于等于1,就会数组越界,再请教个问题,怎么能输入包含有空格的一行,修改后里面带着空格 --------------------编程问答-------------------- 试试\b
补充:Java , Java SE