Создал на диске D текстовые документы для проверки
123456789 ввод
почему выход такой?
21436587
9
опускает последний элемент вниз на одну строку если последний байт в файле не четный
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Scanner;
import java.io.InputStream;
import java.io.OutputStream;
public class Solution {
public static void main(String[] args) {
String file1 = "D:\\asd\\k.txt";
String file2 = "D:\\asf\\k.txt";
try(InputStream in = Files.newInputStream(Path.of(file1));OutputStream out = Files.newOutputStream(Path.of(file2))) {
byte[] buffer = new byte[in.available()];
byte[] bufferTemp = new byte[buffer.length];
while (in.available() >0) {
in.read(buffer);
for (int i = 0; i < buffer.length - 1; i++) {
bufferTemp[i] = buffer[i + 1];
bufferTemp[i + 1] = buffer[i];
i++;
}
if(buffer.length%2!=0)
bufferTemp[buffer.length-1] = buffer[buffer.length-1];
}
{
out.write(bufferTemp);
}
}
catch(Exception e)
{
System.out.println("Error");
}
}
}
Anonymous #2813974
29 уровень
потоки
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
VladimirMaster
18 августа 2022, 15:48
почему выход такой?
_________________________________________________
Не могу не отправить тебя читать нужный и актуальный материал для тебя, а то так и будешь задавать элементарные вопросы, а мне лень, честно говоря, объяснять сейчас. 🙂
+1