读取一个形如 asdw|daw|fds||bfs 的String串,"|"为分割符,解析之后怎样以比如:
name:asdw
ID:daw
result:fds
re:null
data:bfs
这样字段名和数据对应后的格式写入文件
String串的输出顺序是一定的

解决方案 »

  1.   

    String [] str= "asdw|daw|fds||bfs".split("|");
    for(int i=0;i<str.length;i++){
    if(i==0)System.out.print(name:);
    if(i==1)System.out.print(ID:);
    if(i==0)System.out.print(result:);
    if(i==0)System.out.print(re:);
    if(i==0)System.out.print(data:);
    if(str[i]==null||str[i].equals(""))System.out.print("null");
    else System.out.print(str[i]+"\n");
    }
      

  2.   

    public class fileWrite {
    private String filepath="/uk/com/uid/example/in.properties";
    public void readFile(String inString){
    File in=new File(filepath);
    String[] tmp=inString.split("\\|");
    try {
    FileInputStream filein=new FileInputStream(in);
    Properties file=new Properties();
    file.load(filein);
    file.put("name",tmp[0]);
    file.put("id",tmp[1]);
    file.put("result",tmp[2]);
    file.put("re",tmp[3]);
    file.put("data",tmp[4]);
    filein.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    public static void main(String[] args){
    fileWrite fw=new fileWrite();
    fw.readFile("a|b|c|d|e");
    }
    }
      

  3.   

    恩,感谢楼上的,我已经找到方法了
    import java.io.*;public class FileWrite { public void writeToFile(String str) throws IOException{
    BufferedWriter text;
    try{
    try{
    text = new BufferedWriter(new FileWriter(new File("text.txt")));
    text.write(str);
    }catch(FileNotFoundException e){
    return;
    }
    }catch(ArrayIndexOutOfBoundsException e){
    return;
    }
    text.close();
    }
    String student(){
    String xx = "name|id|";
    String[] m = {"NAME: ", "ID: ", "MARK: "};
    String s = "";
    int i=0,j=0,k=0;
    j=xx.indexOf("|",i);
    while(j!=-1){
    s+=m[k++];
    s+=xx.substring(i,j)+"\n";
    i=j+1;
    j=xx.indexOf("|",i);
    if(i == xx.lastIndexOf("|")+1){
    s+=m[k++];
    s+=xx.substring(i);
    }
    }
    return s;

    }
    public static void main(String[] args) throws IOException {
    FileWrite std = new FileWrite();
    std.writeToFile(std.student());
    }}