2017-02-19 3 views
-2

Я website.txt файл, который содержитКак изменить содержимое текстового файла в Java

google 
facebook 
twitter 
bing 
youtube 

Я хочу, чтобы редактировать этот файл с

www.google.com 
www.facebook.com 
www.twitter.com 
www.bing.com 
www.youtube.com  

, как я могу сделать это с помощью операций с файлами в Java

+7

Вам действительно нужно сделать это с Java? 'sed -i 's /.*/ www. &. com /' website.txt' сделал бы это. –

+3

Что вы пробовали? – AR1

+0

да, я хочу, чтобы это –

ответ

0

Вы можете использовать Reader и Writer классы для выполнения операций чтения/записи, например:

public static void main(String[] args) throws IOException { 
    try (BufferedReader reader = new BufferedReader(new FileReader("")); FileWriter writer = new FileWriter("");) { 
     String line; 

     while ((line = reader.readLine()) != null) { 
      writer.write("www." + line + ".com"); 
      writer.write("\n"); 
     } 
    } 
} 
+4

Пожалуйста, поощряйте людей использовать современные идиомы кодирования, такие как try-with-resources. Или, по крайней мере, закрытие ресурсов в блоках finally. Вам также нужно будет помещать символы новой строки. –

+0

Я хочу, чтобы каждая отредактированная строка была на новой строке. Его отредактированный текстовый файл выводится постоянно. –

+0

@santoshbhoir просто добавляет символ ** новой строки ** (\ n в java) в конце 'String' передается в' writer.write() ' –

0

Если вы используете Java 8, вы можете сделать это следующим образом:

try (Stream<String> stream = Files.lines(Paths.get("your_input_file"))) { 
      try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("you_output_file"))) { 
       stream.map(line -> new String("www." + line + ".com\n")).forEach(line -> { 
        try { 
         writer.write(line); 
        } catch (IOException e) {} 
       }); 
      } 

     } catch (IOException e) {} 
Смежные вопросы