StringTokenizer 读文件,但文件中有\t如何处理

解决方案 »

  1.   

    现在我要读一个文件,内容是111\terer\t5\tgagaga\t444,其中是以\t来分隔开的,现在我用StringTokenizer这个类来读的,\t在java中是tab键,现在不能用。
      

  2.   

    保留\t      StringTokenizer st = new StringTokenizer("111\terer\t5\tgagaga\t444","\t",true);
         while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
    去掉\t      StringTokenizer st = new StringTokenizer("111\terer\t5\tgagaga\t444","\t",false);
         while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
      

  3.   

    按照\t来划分读取就是了
    StringToKenizer st=new StringToKenizer("111\terer\t5\tgagaga\t444","\t")
      

  4.   

    这样解决这个问题!   因为 在文件本身  \t 是两个字符 而 tab 是一个字符!  所以你可以把你的文件读取到字符串的时候  按字符读取! 如果字符等于'\'  就替换成 '/'或者'\\'   这样在你的StringTokenizer  里面 就不会出现 \t和tab 部分的情况!
      

  5.   

      FileInputStream fileinputstream = new FileInputStream(dir+filename);
           BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(fileinputstream));
           boolean flag = false;
           String strBuff;   String str1="";
           String str2="";
           String str3="";
           String str4="";
    while ( (strBuff = bufferedreader.readLine()) != null)
            {
             strBuff = strBuff.trim();
            
             System.out.println("strBuff=="+strBuff);
             // // strBuff =strBuff.replaceAll("=","\t");
             StringTokenizer st = new StringTokenizer(strBuff,"\t");
             //StringTokenizer st=new StringTokenizer()
             int i=0;
             while (st.hasMoreElements()){
                i++;
                strBuff = (String) st.nextElement();
               System.out.println(st.nextToken());            //strBuff = strBuff.trim();
                if (i==1){
                  str1=strBuff;
                 }
                if (i==2){
                str2=strBuff;
                }
                if (i==3){
                str3=strBuff;
               }
              
                }
           }就这样的但报java.util.NoSuchElementException
      

  6.   

    public static void main(String[] args)throws Exception {
    StringBuffer sb = new StringBuffer();
    FileReader fr = new FileReader(new File("test.properties"));
    char c;
    while(fr.ready()){
    c = (char)fr.read();
    if(c=='\\'){
    c='/';
    }
    sb.append(c);
    }
    Properties prop = new Properties();
    prop.load(new ByteArrayInputStream(sb.toString().getBytes()));
    System.out.println(prop.getProperty("path"));


    StringTokenizer st = new StringTokenizer(sb.toString(),"\t",false);
    while(st.hasMoreTokens()){
    System.out.println(st.nextToken());
    }
    }
    这个是我刚才写的 个测试代码!  我的 test.properties 文件内容为path= "C:\take"
    path1= "C:\take"
      

  7.   

    打印结果为:"C:/take"
    path= "C:/take"
    path1= "C:/take"