Java往TXT文件写入文字的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java往TXT文件写入文字的问题相关的知识,希望对你有一定的参考价值。

file4是通过以下代码创建的TXT: File file4 = new File("C:\\HappyNewYear\\HappyNewYear.txt");
代码重新发出如下:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:\n");
try

FileWriter writer = new FileWriter(file4.toString());
while(!(in.readLine().equalsIgnoreCase("exit")))
String happyString = in.readLine();
System.out.println("您输入的内容是:\""+happyString+"\",正在存储中");
writer.write(happyString+"\n");

writer.flush();
writer.close();
catch (IOException e)
e.printStackTrace();

用java往文件里面写入文字可以用到java里面的I/O流来实现功能, 一般都是用FileWriter类来实现要求。具体的代码示例如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * java读写文件
 * 读取d:/1.txt文件内容,写入f:/text.txt文件中.
 * 
 * 写入文件换行用fw.write("\\r\\n");
 * 或者fw.write("\\n");
 * @author young
 *
 */
public class FileWriterTest 
// 读写文件
public static void rwFile()
FileWriter fw = null;
BufferedReader br = null;
try 
    // 定义FileWriter对象,关联文件f:\\text.txt,用来向文件写内容
fw = new FileWriter("f:\\\\text.txt", true);
// 定义bufferedReader对象,用来读取d:\\1.txt文件内容
br = new BufferedReader(new InputStreamReader(
new FileInputStream("d:\\\\1.txt"), "UTF-8"));
String line = null;
// 每次读取一行内容,循环读取,读到文件末尾结束
while ((line = br.readLine()) != null) 
System.out.println("文件内容: " + line);
fw.write(line);
// 刷新缓冲流,
fw.flush();

// 关闭I/O流
br.close();
 catch (FileNotFoundException e) 
e.printStackTrace();
 catch (IOException e) 
e.printStackTrace();
 finally 
if (fw != null) 
try 
fw.close();
 catch (IOException e) 
// TODO Auto-generated catch block
e.printStackTrace();




public static void main(String[] args) 
rwFile();

参考技术A 代码如下:

File file4 = new File("FileTextCopy2.java");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:\n");
try
String happyString ;
BufferedWriter writer = new BufferedWriter(FileWriter(file4));
while(!(happyString=in.readLine()).equalsIgnoreCase("exit"))
System.out.println("您输入的内容是:\""+happyString+"\",正在存储中");
writer.write(happyString+"\n");
writer.flush();

writer.close();
catch (IOException e)
e.printStackTrace();


写入文件的时候最好也用带缓冲的方法,对提升程序效率有帮助。
如果希望马上看到写入的效果,就执行一下flush,强制将内容立即写入文件

”修改建议

回答含有复制内容
咦?您的答案和别的答案长的太像了,简直就是双胞胎,其实….分享自己的原创知识才是件最有性格的事,快去修改自己的回答吧。“

。。。原来的答案是对的,新的代码只是改进了缓冲写入和调用flush的位置
参考技术B File file4 = new File("FileTextCopy2.java");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入内容:\\n");
try
    String happyString ;
    FileWriter writer = new FileWriter(file4);
    while(!(happyString=in.readLine()).equalsIgnoreCase("exit"))
        System.out.println("您输入的内容是:\\""+happyString+"\\",正在存储中");
        writer.write(happyString+"\\n");
    
    writer.flush();
    writer.close();
catch (IOException e)
    e.printStackTrace();


注意


追问

发现这两行还是要在whil循环里面才可以写进去。
writer.flush();writer.close();

本回答被提问者采纳
参考技术C package examples;

import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

public class IOExample 
    public static void main(String[] args) 
        try(Scanner scanner = new Scanner(System.in);
            PrintWriter out = new PrintWriter("Happy.txt"))
            while(scanner.hasNextLine())
                String line = scanner.nextLine();
                if("exit".equalsIgnoreCase(line.trim())) break;
                   System.out.println("您输入的内容是:\\""+ line +"\\"正在存储中");
                out.println(line);
            
        catch(FileNotFoundException e)
            System.err.println(e.getMessage());
        
    

参考技术D JSON(javascript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。

以上是关于Java往TXT文件写入文字的问题的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 写入TXT文件

java代码 如何向TXT文件写入内容?

java 怎么将数据写入TXT文件

Simple Java往文件中按行写入数据

使用java如何直接往word文件中写入内容最好有详细的介绍和源代码

Java中,怎样把一段文字写入一个文本文件中?