Java를 사용하여 String을 텍스트 파일에 저장하려면 어떻게합니까?



8 Answers

Apache Commons IO 에는이를 수행하기위한 훌륭한 방법이 포함되어 있습니다. 특히 FileUtils에는 다음과 같은 메소드가 포함되어 있습니다.

static void writeStringToFile(File file, String data) 

하나의 메소드 호출로 파일에 텍스트를 쓸 수있다.

FileUtils.writeStringToFile(new File("test.txt"), "Hello File");

파일의 인코딩을 지정하는 것도 고려할 수 있습니다.

Question

자바에서는 "text"라는 String 변수에 텍스트 필드의 텍스트가 있습니다.

"text"변수의 내용을 파일에 저장할 수 있습니까?




Java 7 사용 :

public static void writeToFile(String text, String targetFilePath) throws IOException
{
    Path targetPath = Paths.get(targetFilePath);
    byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
    Files.write(targetPath, bytes, StandardOpenOption.CREATE);
}



하나의 단일 문자열을 기반으로 텍스트 파일을 작성해야하는 경우 :

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 = "This is text to be saved in file";

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



Apache Commons IO API를 사용하십시오. 간단 해

API를 다음과 같이 사용하십시오.

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

Maven 종속성

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>



자바 파일 API 살펴보기

간단한 예 :

try (PrintStream out = new PrintStream(new FileOutputStream("filename.txt"))) {
    out.print(text);
}



ArrayList를 사용하여 예를 들어 TextArea의 모든 내용을 저장하고 작성자가 문자열 줄을 쓴 것처럼 저장을 호출하여 매개 변수로 보내면 "for"줄을 한 줄씩 사용하여 끝에 ArrayList를 쓸 수 있습니다 우리는 txt 파일에 내용 TextArea 될 것입니다. 뭔가 이해가되지 않는다면 미안하지만 Google 번역자와 나는 영어를 못해.

Windows 메모장을보고 항상 선을 넘기지 않고 한 줄에 모두 표시하고 워드 패드를 사용합니다.

개인 무효 SaveActionPerformed (액션 이벤트 evt) {

String NameFile = Name.getText();
ArrayList< String > Text = new ArrayList< String >();

Text.add(TextArea.getText());

SaveFile(NameFile, Text);

}

공공 무효 SaveFile (문자열 이름, ArrayList <문자열> 메시지) {

path = "C:\\Users\\Paulo Brito\\Desktop\\" + name + ".txt";

File file1 = new File(path);

try {

    if (!file1.exists()) {

        file1.createNewFile();
    }


    File[] files = file1.listFiles();


    FileWriter fw = new FileWriter(file1, true);

    BufferedWriter bw = new BufferedWriter(fw);

    for (int i = 0; i < message.size(); i++) {

        bw.write(message.get(i));
        bw.newLine();
    }

    bw.close();
    fw.close();

    FileReader fr = new FileReader(file1);

    BufferedReader br = new BufferedReader(fr);

    fw = new FileWriter(file1, true);

    bw = new BufferedWriter(fw);

    while (br.ready()) {

        String line = br.readLine();

        System.out.println(line);

        bw.write(line);
        bw.newLine();

    }
    br.close();
    fr.close();

} catch (IOException ex) {
    ex.printStackTrace();
    JOptionPane.showMessageDialog(null, "Error in" + ex);        

}




한 블록의 텍스트를 파일로 푸시하는 데 신경 쓰면 매번이 블록을 덮어 씁니다.

JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
    FileOutputStream stream = null;
    PrintStream out = null;
    try {
        File file = chooser.getSelectedFile();
        stream = new FileOutputStream(file); 
        String text = "Your String goes here";
        out = new PrintStream(stream);
        out.print(text);                  //This will overwrite existing contents

    } catch (Exception ex) {
        //do something
    } finally {
        try {
            if(stream!=null) stream.close();
            if(out!=null) out.close();
        } catch (Exception ex) {
            //do something
        }
    }
}

이 예제에서는 사용자가 파일 선택기를 사용하여 파일을 선택할 수 있습니다.




Apache Commons IO의 FileUtils.writeStringToFile() 을 사용하십시오. 이 특별한 바퀴를 재발견 할 필요가 없습니다.




이것을 사용하면 매우 읽기 쉽습니다.

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

Files.write(Paths.get(path), lines.getBytes(), StandardOpenOption.WRITE);





Related