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();
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文件写入文字的问题的主要内容,如果未能解决你的问题,请参考以下文章