8

Как сохранить строку в текстовый файл с помощью Java?

7

В Java у меня есть текст из текстового поля, который хранится в строковой переменной "text".

Как я могу сохранить содержимое переменной "text" в файл?

5 ответ(ов)

1

В Java 7 вы можете сделать это следующим образом:

String content = "Hello File!";
String path = "C:/a.txt";
Files.write(Paths.get(path), content.getBytes());

Дополнительную информацию можно найти здесь:
http://www.drdobbs.com/jvm/java-se-7-new-file-io/231600403

0

Вы можете изменить приведённый ниже код, чтобы записать ваш файл из любого класса или функции, обрабатывающей текст. Однако возникает вопрос, зачем миру нужен новый текстовый редактор...

import java.io.*;

public class Main {

    public static void main(String[] args) {

        try {
            String str = "SomeMoreTextIsHere";
            File newTextFile = new File("C:/thetextfile.txt");

            FileWriter fw = new FileWriter(newTextFile);
            fw.write(str);
            fw.close();

        } catch (IOException iox) {
            // обработка исключения
            iox.printStackTrace();
        }
    }
}
0

Если вам нужно создать текстовый файл на основе одной строки, вы можете использовать следующий код на Java:

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class StringWriteSample {
    public static void main(String[] args) {
        String text = "Это текст, который будет сохранен в файл";

        try {
            Files.write(Paths.get("my-file.txt"), text.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

В данном примере создается текстовый файл с именем my-file.txt, в который записывается строка "Это текст, который будет сохранен в файл". Если при записи файла возникнет ошибка, она будет выведена в виде стека ошибок. Не забудьте обрабатывать возможные исключения, чтобы избежать сбоев в вашем приложении.

0

Ваш код для записи строки в файл на Java 7 выглядит вполне корректно. Однако, чтобы сделать его более устойчивым и удобным для использования, можно добавить обработку исключений и обеспечить закрытие ресурсов. Вот улучшенная версия вашего метода:

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;

public static void writeToFile(String text, String targetFilePath) {
    Path targetPath = Paths.get(targetFilePath);
    byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
    
    try {
        Files.write(targetPath, bytes, StandardOpenOption.CREATE);
    } catch (IOException e) {
        e.printStackTrace(); // или выбросьте новое исключение, если это необходимо
    }
}

Основные моменты, на которые стоит обратить внимание:

  1. Обработка исключений: я добавил блок try-catch, чтобы поймать возможные IOExceptions, которые могут возникнуть при записи в файл.
  2. В этом коде используется StandardCharsets.UTF_8 для кодирования строки в массив байтов, что является хорошей практикой для работы с текстом.

Теперь метод writeToFile более безопасен в использовании и поможет предотвратить возможные ошибки во время выполнения.

0

Используйте API Apache Commons IO. Это просто.

Воспользуйтесь следующим кодом:

FileUtils.writeStringToFile(new File("FileNameToWrite.txt"), "stringToWrite");

Зависимость для Maven:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь