나는 다음과 같은 텍스트 파일 (offline.txt)이 있습니다정렬 행은 행에 포함
# Timestamp, X, Y, MAC Address of AP, RSS
1395444273179 35.19967269897461 19.1965389251709 28:c6:8e:85:80:d3 -71
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:a1 -75
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:a2 -74
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:b1 -84
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:b2 -85
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:b0 -85
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:a0 -74
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:41 -75
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:40 -73
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:42 -74
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:52 -96
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:50 -97
내가 수에 따라 파일의 라인을 정렬하고 싶습니다를 값이 반복 될 경우 내림차순으로 파일의 다섯 번째 열은 반복 된 값의 순서와 상관이 없습니다.
예를 들어이있다 원하는 출력 (offline_out.txt) 나는 이전의 특정 텍스트 파일에 대해 원하는 :
# Timestamp, X, Y, MAC Address of AP, RSS
1395444273179 35.19967269897461 19.1965389251709 28:c6:8e:85:80:d3 -71
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:40 -73
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:42 -74
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:a0 -74
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:a2 -74
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:a1 -75
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:b1 -84
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:b2 -85
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:8e:e9:b0 -85
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:52 -96
1395444273179 35.19967269897461 19.1965389251709 00:1a:1e:87:04:50 -97
내가 파일을 읽는 방법을 알고, 내가 아는 그 "종류"기능에 자바 정렬 나를 도울 수 있습니다. 제 생각에 제 5 행에있는 모든 숫자를 추출하여 벡터에 저장 한 다음 벡터를 정렬하고 번호가 정렬되면 특정 행에 숫자를 할당하는 방법을 찾고 숫자를 정렬하고 행을 정렬 한 다음 그들을 다른 파일에 저장하십시오. 이것을 프로그램하는 방법에 대한 아이디어가 있습니까?
이
내가 지금까지 가지고있는 프로그램입니다 :public class extract {
public static void main (String[] args) throws java.lang.Exception
{
File inputFile = new File("offline.txt");
File tempFile = new File("offline_out.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
//while to read all the lines, but how can I store only the numbers to a vector an associate them to a specific row?
while((currentLine = reader.readLine()) != null) {
}
}
//to save the output file
boolean successful = tempFile.renameTo(inputFile);
}
나는 좋은 접근 방법이 있다고 생각합니다. 귀하의 접근 방식에서 각 단계를 개별적으로 수행하고 원하는 결과에 도달해야합니다. 귀하의 접근 방식을 각자의 방법으로 세분화하는 것이 좋습니다. – Bernard
각 행을 객체로 읽어 들인 다음 마지막 열에서 'Comparator'를 사용하여 객체 목록을 정렬 할 수 있습니까? –
각 줄을 객체로 처리하면 "comparator"라는 줄에서 5 번째 줄의 숫자에 따라 줄을 정렬해야합니다. – user3349667