Вот пример кода для файла копирования в Java.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
class FileCopy {
public static void main(String[] args) throws IOException {
String in = "D:\\test.txt";
String out = "D:\\test_dup.txt";
int i = 0;
try (FileInputStream fis = new FileInputStream(in);
FileOutputStream fos = new FileOutputStream(out)) {
int b;
while ((b = fis.read()) != -1) {
System.out.println(b + "....." + (char) b);
fos.write(b);
i++;
}
} catch (Exception e) {
System.out.print(e);
} finally {
System.out.println("done" + i);
}
}
}
Содержимое файла "test.txt" - "Добро пожаловать".Когда я запускаю программу, контекст копируется во второй файл, и вывод программы
87.....W
101.....e
108.....l
99.....c
111.....o
109.....m
101.....e
Мы используем целое число для хранения пугающего результата, как происходит автоматическое преобразование из int в символ, когда мы записываем int в FileOutpurtStream?или где задокументировано это автоматическое преобразование, например, char в int при чтении и int в char при записи.
если FileInputStream.read метод читает байт данных за один раз, то почему возвращаетсятип int вместо байта.