2016-06-05 2 views
-1

У меня есть txt-файл, я хочу отсканировать его и получить от него конкретные данные и записать результат в другой txt-файл. Он работает только для моей линии печати. Запись в новом txt-файле, который я создал, не работает для меня, я был бы признателен, если кто-то может сообщить мне, что мне не хватает!Writng to txt

import java.io.BufferedReader; 
import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileReader; 
import java.io.FileWriter; 
import java.util.Scanner; 

public class ReadingFile { 

@SuppressWarnings({ "resource", "unused" }) 
public static void main(String[] args) throws Exception { 
    // reading a current txt file 
    File file = new File("C:/Users/Aboelmagd/Desktop/myfile1.txt"); 
    FileReader reader = new FileReader(file); 
    BufferedReader br = new BufferedReader(reader); 
    String reading; 

    // Creating new txt to get the result 
    File newFile = new File("C:/Users/Aboelmagd/Desktop/my.txt"); 
    FileWriter writer = new FileWriter(newFile); 
    BufferedWriter bw = new BufferedWriter(writer); 
    String writing; 
    Scanner sc = new Scanner(reader); 

    // Scanning myFile.txt and writing to my.txt 
    while (sc.hasNext()) { 
     writing = sc.next(); 
     // copying the full of myFile.txt to my.txt 
     //bw.write(writing); 
     //bw.newLine(); 
     // If type is found, cet it and write to my.txt 
     if (writing.contains("Type:")) { 
      writing = writing.substring(0); 
      // printing is working, yohooo :D 
      System.out.println(writing); 
      // writing to the my.txt is not working ?!!! 
      bw.write(writing); 
     } 
    } 
    } 
} 
+1

Получаете ли вы исключение или что означает 'it doen't work'? – Jens

+0

Добавьте 'bw.close();' после цикла 'while'. Вот когда файл записывается на диск. –

+0

@Jens Дело в том, что у меня нет никаких исключений, и я подразумеваю, что он не работает, после запуска кода my.txt по-прежнему пуст! –

ответ

0

Если вы не назовете метод close() объекта writer, содержимое не будет физически записано в настоящий файл. Всегда, закройте автора после того, как ваши письменные задания окончены. В вашем случае звоните

bw.close(); 

после того, как ваш цикл while закрывается.