Рубрики
Без рубрики

Java – Как сохранить строку в файл

– Java – Как чтобы сохранить строку в файл

Автор оригинала: mkyong.

В Java существует множество способов записи строки в файл.

1. Java 11 – Java 11 –

Наконец, в java.nio добавлен новый метод, позволяющий легко сохранять строку в Файл .

package com.mkyong;

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

public class StringToFileJava11 {

    public static void main(String[] args) {

        String content = "Hello World \r\nJava!\r\n";
        String path = "c:\\projects\\app.log";

        try {

            // Java 11 , default StandardCharsets.UTF_8
            Files.writeString(Paths.get(path), content);

            // encoding
            // Files.writeString(Paths.get(path), content, StandardCharsets.US_ASCII);

            // extra options
            // Files.writeString(Paths.get(path), content, 
			//		StandardOpenOption.CREATE, StandardOpenOption.APPEND);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}
Hello World 
Java!

2. Java 7 – Java 7 –

package com.mkyong;

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

public class StringToFileJava7 {

    public static void main(String[] args) {

        String content = "Hello World \r\nJava!\r\n";
        String path = "c:\\projects\\app.log";
		
        try {

            // Java 7
            Files.write(Paths.get(path), content.getBytes());

            // encoding
            // Files.write(Paths.get(path), content.getBytes(StandardCharsets.UTF_8));

            // extra options
            // Files.write(Paths.get(path), content.getBytes(), 
			//		StandardOpenOption.CREATE, StandardOpenOption.APPEND);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

Выход

Hello World 
Java!

3. Общий доступ Apache IO

	
		commons-io
		commons-io
		2.6
	
package com.mkyong;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class CommonsIOExample {

    public static void main(String[] args) {

        String content = "Hello World \r\nJava!\r\n";
        String path = "c:\\projects\\app2.log";

        try {
            FileUtils.writeStringToFile(new File(path), content, StandardCharsets.UTF_8);

            // append
            // FileUtils.writeStringToFile(new File(path), content, StandardCharsets.UTF_8, true);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

4. БуферизоВанный писатель

4.1 В прежние времена:

package com.mkyong;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterExample {

    public static void main(String[] args) {

        String content = "Hello World \r\nJava!\r\n";
        String path = "c:\\projects\\app.log";

        try (FileWriter writer = new FileWriter(path);
              BufferedWriter bw = new BufferedWriter(writer)) {

            bw.write(content);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

4.2 Или вот так, закройте все ресурсы вручную 🙂

package com.mkyong;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterExampleBeforeJava7 {

    public static void main(String[] args) {

        String content = "Hello World \r\nJava!\r\n";
        String path = "c:\\projects\\app.log";

        BufferedWriter bw = null;
        FileWriter fw = null;

        try {

            fw = new FileWriter(path);
            bw = new BufferedWriter(fw);
            
            bw.write(content);

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (bw != null)
                    bw.close();

                if (fw != null)
                    fw.close();

            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }

}

Рекомендации

Оригинал: “https://mkyong.com/java/java-how-to-save-a-string-to-a-file/”