Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Java, работа с файлами (http://www.tehnari.ru/f41/t88077/)

Rival 06.05.2013 14:22

Java, работа с файлами
 
Что программа должна делать.
Открывать заданный файл и считывать его содержимое
Открывать и выводить содержимое файла на экран
Открывать файл и записать в него тестовую строку
Открывать файл A, открывать файл B, считывать содержимое A и записывать в B.

Порядок выполнения:
1. Создать на диске I текстовый файл с расширением txt.
2. Заполнить произвольным текстом.
3. Создать на диске I текстовый файл с расширением doc.
4. Заполнить произвольным текстом.
5. Создать класс для работы с файлами.
6. Написать метод для чтения данных из файла.
7. Доработать метод для вывода результата чтения на экран.
8. Написать метод для записи данных в файл. 9. Написать программу, которая будет содержимое файла A копировать в файл B. 10. Запустить программу для файла txt. 11. Запустить программу для файла doc.
Пример:
Код:

public class FileWork {
public void ReadFile(String filein, String fileout, int mode ){
System.out.println("Reading file " + filein + "...");
try{
BufferedReader reader = new BufferedReader(new FileReader(filein)); // указываем файл, с которого читаем
BufferedWriter writer = new BufferedWriter(new FileWriter(fileout)); // куда пишем
if(mode == 1){ // режим чтения 1 побайтный
char cbuf[] = new char[40];//я так понял это макс количество символов в файле?
int l;
while((l = reader.read(cbuf)) > 0){ // тут получается мы считываем пока не пройдет эти 40 символов
System.out.print(cbuf); // выводим прочитанное на экран
writer.write(cbuf,0,l); // записываем в файл
}
}else{ // режим чтения построчный
String line;
while((line = reader.readLine()) != null){ //читаем строку пока не дойдем до конца файла
System.out.println(line); // выводим прочитанное на экран
writer.write(line + "\r\n"); // записываем в файл, но я не понял что такое "\r\n", путь что ли?
}
}
writer.close(); //закрываем файл
}catch(Exception e){ // если были ошибки, выводим
System.out.println("ERROR:" + e);
}
System.out.println("End reading.");
}
}

Программу надо, обязательно, сделать в 2 класса, но я не пойму как. Вроде все, что надо нашел, но как из этого сделать правильно программу я не понял. И какой способ чтения лучше, побайтовый или построчный? Помогите пожалуйста.

Rival 06.05.2013 14:24

Забыл написать.
" Необходимо подключение пакета java.io.* "


Часовой пояс GMT +4, время: 04:57.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.