file 안드로이드 txt - Java를 사용하여 String을 텍스트 파일에 저장하려면 어떻게합니까?





10 Answers

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

static void writeStringToFile(File file, String data) 

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

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

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

읽기

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

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




그냥 내 프로젝트에서 비슷한 일을했다. FileWriter 를 사용하면 작업을 간소화 할 수 있습니다. 그리고 여기에서 멋진 tutorial 찾을 수 있습니다.

BufferedWriter writer = null;
try
{
    writer = new BufferedWriter( new FileWriter( yourfilename));
    writer.write( yourstring);

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



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




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>



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

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();
        }
    }
}



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

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

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



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);
}



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

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
        }
    }
}

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




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);        

}




문자열에서 캐리지 리턴 문자를 파일로 유지하려는 경우 코드 예제가 있습니다.

    jLabel1 = new JLabel("Enter SQL Statements or SQL Commands:");
    orderButton = new JButton("Execute");
    textArea = new JTextArea();
    ...


    // String captured from JTextArea()
    orderButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            // When Execute button is pressed
            String tempQuery = textArea.getText();
            tempQuery = tempQuery.replaceAll("\n", "\r\n");
            try (PrintStream out = new PrintStream(new FileOutputStream("C:/Temp/tempQuery.sql"))) {
                out.print(tempQuery);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(tempQuery);
        }

    });





Related