我在一家有許多COBOL程序的印刷公司工作,並且我的任務是將COBOL程序轉換爲JAVA程序。我在一次轉換中遇到了麻煩。我需要一個文件,每行是一條記錄,並在每一行數據被阻止。一行的用JAVA對2個字段的文件中的行進行排序
實施例是
60000003448595072410013 FFFFFFFFFFV 80 0001438001000014530020120808060134
我需要由5位數字數據在19-23個字符通過在一行中第一個字符進行排序,然後。
BufferedReader input;
BufferedWriter output;
String[] sort, sorted, style, accountNumber, customerNumber;
String holder;
int lineCount;
int lineCounter() {
int result = 0;
boolean eof = false;
try {
FileReader inputFile = new FileReader("C:\\Users\\cbook\\Desktop\\Chemical\\"
+ "LB26529.fil");
input = new BufferedReader(inputFile);
while (!eof) {
holder = input.readLine();
if (holder == null) {
eof = true;
} else {
result++;
}
}
} catch (IOException e) {
System.out.println("Error - " + e.toString());
}
return result;
}
chemSort(){
lineCount = this.lineCounter();
sort = new String[lineCount];
sorted = new String[lineCount];
style = new String[lineCount];
accountNumber = new String[lineCount];
customerNumber = new String[lineCount];
try {
FileReader inputFile = new FileReader("C:\\Users\\cbook\\Desktop\\Chemical\\"
+ "LB26529.fil");
input = new BufferedReader(inputFile);
for (int i = 0; i < (lineCount + 1); i++) {
holder = input.readLine();
if (holder != null) {
sort[i] = holder;
style[i] = sort[i].substring(0, 1);
customerNumber[i] = sort[i].substring(252, 257);
}
}
} catch (IOException e) {
System.out.println("Error - " + e.toString());
}
}
這是我有這麼遠,我真的不知道從這裏到甚至去,如果這是正確的方式 着手對文件進行排序。文件排序後,它將被存儲到另一個文件中,並用另一個程序再次處理 以準備打印。
您能澄清如何分類? –
對不起,升序由5位數字,然後單個數字。 – JcBook
難道你不能只寫一個比較器,看看字符範圍,做比較,如果相等,看第一個字符? (如果我正確理解標準。) –