解决方案 »

  1.   

    File file = new File("test.txt");
    BufferedReader br = new BufferedReader(new FileReader(file));
    //System.out.println((char)br.read());
    StringBuffer sb = new StringBuffer();
    int ch;
    while((ch = br.read()) != -1){
    sb.append((char)ch);
    if(ch == '\n'){
    if((char)br.read() == '\n'){
    break;
    }
    }

    }
    System.out.println(sb.toString());
    可以试试看,这样是否满足你的需求
      

  2.   

    好像直接使用那个流也不好做,我打算试试分两步走,第一步readline(),第二步判断下一个readline()是否为空。
      

  3.   

    就用BufferRead中的read读取单个字符,判断前一个和后一个是否都是\n得到/n/n后面内容还要读取吗?
      

  4.   

    我这是做一个让客户端输入的服务器,远程通过连接socket输入sql语句来操作数据库
    我有点昏“BufferRead中的read”之后还保留着以前的输入流吗?通过readline()把它提取出来,还是要拼接起来的吧。
      

  5.   

    readLine或者read都是得拼接的 read过的字节不存在输入流中,比如说流里有“aacc”那么你read两次的话,流里就还剩下cc
      

  6.   

    那读过read()之后还是要把流转出来的
      

  7.   

    你试下 Scanner
    Scanner sc = new Scanner("123\n\n34\nafdf\n");
    sc.useDelimiter("\\n\\n");
    int i = 0;
    while (sc.hasNext()) {
    System.out.format("%02d:%s\n", ++i, sc.next());
    }
      

  8.   

    楼主,按你的需求二楼思路应该可以实现,他就是两次判断/n,你最后肯定要拼接sql.  stringbuffere线程安全效率低,stringbuilder效率高,但是线程不安全,,二选一,择其优