Пример работы с классами File, PrintWriter и Scanner
Мой тестовый пример работы с файлами, а именно простейшая запись и чтение из файла с помощью объектов классов: File, PrintWriter и Scanner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import java.util.Scanner; public class Main { public static void main(String[] args) { String filePath = getFilePath("test.txt"); System.out.println("Test file here: "+filePath); File file = new File( filePath ); String data = "Hello developer!\n" + "Hello web developer!"; try { System.out.println("Write data to test file.."); writeToFile(file, data); System.out.println("Read data from test file.."); String rdata = readFromFile(file); System.out.println("Test data is:\n~~~~~~~~~~~~~"); System.out.print(rdata); } catch (FileNotFoundException e) { e.printStackTrace(); } } public static String getFilePath(String fileName) { String baseDir = System.getProperty("user.dir"); String filePath = baseDir + "\\"+fileName; return filePath; } public static void writeToFile(File file, String data) throws FileNotFoundException { PrintWriter writer = new PrintWriter(file); writer.write(data); writer.close(); } public static String readFromFile(File file) throws FileNotFoundException { Scanner reader = new Scanner(file); reader.useDelimiter("\\n"); StringBuilder data = new StringBuilder(); while( reader.hasNext() ) data.append(reader.next()+"\n"); reader.close(); return data.toString(); } } |
Результат работы:
1 2 3 4 5 6 7 8 9 |
Test file here: D:\Progr\Eclipse\ScannerPrintWriter\test.txt Write data to test file.. Read data from test file.. Test data is: ~~~~~~~~~~~~~ Hello developer! Hello web developer! |
Так же стоить обратить внимание на метод который строит путь к файлу в каталоге проекта, вот он:
1 2 3 4 5 6 7 8 |
public static String getFilePath(String fileName) { String baseDir = System.getProperty("user.dir"); String filePath = baseDir + "\\"+fileName; return filePath; } |
Думаю, этот метод будет полезен, в тех случаях когда в каталоге будут размещаться всякие медиа файлы и нужно будет построить к ним полный путь.
Остальное на мой взгляд достаточно просто, поэтому не буду вдаваться в подробности.
Author: | Tags: /
| Rating:
Leave a Reply