当前位置:编程学习 > JAVA >>

关于修改文本内容的问题,代码异常,求大侠帮忙改

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,就会数组越界,再请教个问题,怎么能输入包含有空格的一行,修改后里面带着空格 --------------------编程问答--------------------
引用 2 楼 NO1duronggang 的回复:
我知道了,if(b.equals(idd[1]))//从此处抛出异常,如果b的长度小于等于1,就会数组越界,再请教个问题,怎么能输入包含有空格的一行,修改后里面带着空格
试试\b
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,