Для записи строки данных в файл с использованием fileoutputstream мы переходим для преобразования строки в байтовый массив. Для чтения строки данных с использованием fileinputstream мы не можем использовать преобразование. В чем причина этого?downcasting и upcasting в java-файле io?
чтение:
class Test {
public static void main(String args[]) {
try {
Fileinputstream fin = new Fileinputstream("abc.txt");
int i = 0;
while ((i = fin.read()) != -1) {
System.out.print((char) i);
}
fin.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
записывания:
class Test {
public static void main(String args[]) {
try {
FileOutputstream fout = new FileOutputStream("abc.txt");
String s = "Sachin Tendulkar is my favourite player";
byte b[] = s.getBytes(); //converting string into byte array
fout.write(b);
fout.close();
System.out.println("success...");
} catch (Exception e) {
system.out.println(e);
}
}
}
Неясно, что вы имеете в виду. Просьба привести пример. –
Что вы имеете в виду? FileInputStream имеет метод чтения (byte []), который считывает из файла в байт []. Преобразование этого в строку тривиально (есть конструктор в String) –
@MattFellows «Преобразование этого в строку тривиально» тривиально, но легко сделать неправильно. –