get last buffer bufferreader socket

时间:2016-11-29 19:11:45

标签: java sockets

我有问题,我想在bufferreader socket

中的最后一个元素之前获取
message = bufferedReader.readLine()

我想获得此输出

exemple bufferreader消息包含:[Ajay,Becky,Chaitanya,Dimple,Rock] 在Last元素之前: 凹坑

2 个答案:

答案 0 :(得分:2)

 if (al != null && al.size()>=2) {
    System.out.println("Last element is:");
    System.out.println(al.get(al.size()-2));
 }

因为list.size()-1是最后一个元素。
所以list.size()-2是前一个元素。

在数组或集合中,索引开始为0,因此最后一个元素是array/collection -1的大小。

关于你的第二个问题:

  

我在socket bufferreader中遇到问题

     

我希望在消息之前获得最后消息

     

message = bufferedReader.readLine()

你不是在阅读消息而是在这里排队。如果你想识别前一行,你可以通过假设你至少有2个元素来阅读。

String[] lastTwoElements= new String[2];
String currentLine;
            while ((currentLine=br.readLine()) != null) {
                String oldLastElement = lastTwoElements[1]; 
                lastTwoElements[1] = currentLine;
                lastTwoElements[0] = oldLastElement;
            }

lastTwoElements[0]是前一个读取行。 lastTwoElements[1]是最后一行。

答案 1 :(得分:0)

if (al != null && !al.isEmpty()) {
   System.out.print("ArrayList contains: ");
   for(int i =0; i <a1.size(); i++){
      System.out.print(a.get(i) + ", ");
   }
   System.out.println("\nbefore Last element is: "+a1.get(a1.siz2() - 2));
}