Мне нужно слить несколько бинарных файлов в один. Я хочу сделать так:
Код | private boolean MergeFiles(String[] aszStr) { final int iBuffLen = 128; // Buffer length char buff[] = new char[iBuffLen]; // Buffer int iOffset = 0; // Offset position in reading files int iLen; // Current length of merged file int iNum; // The character read try { OutputStreamWriter FMain = new OutputStreamWriter(new FileOutputStream(aszStr[0], true)); for (int it = 1; it < aszStr.length; it++) { InputStreamReader in = new InputStreamReader(new FileInputStream(aszStr[it])); iLen = FMain.available(); do { iNum = in.read(buff, iOffset, iBuffLen - 1); iOffset += iNum; FMain.write(buff, iLen, iNum); iLen += iNum; } while (in.ready()); in.close(); } FMain.flush(); FMain.close(); } catch(IOException ioe) { System.err.println("Sorry, but Input/Output Exception was appead during program working"); return false; } return true; }
|
Тоесть читаю часть файла в буфер и этот буфер сливаю. Проблема в том что я не знаю как получить первоначальный размер файла.
не с той оперы. А какой сдесь метод нужно использовать или у меня в корне неправильный подход к данной проблеме?
|