java写入txt文件
‘壹’ java如何追加写入txt文件
java追加写入txt文件代码及注释参考如下:
publicvoidm(){
FileWriterff=null;
try{
//查看C盘是否有a.txt文件来判定是否创建
Filef=newFile("c:\a.txt");
ff=newFileWriter(f,true);//将字节写入文件末尾处,相当于追加信息。
}catch(IOExceptione){
e.printStackTrace();
}
PrintWriterp=newPrintWriter(ff);
p.println("这里就可以写入要追加的内容了");//此处为追加内容
p.flush();
ff.try{
f.flush();
p.close();
ff.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
‘贰’ java读取、修改、写入txt文件
模拟:先创建一个TXT文件(内容来自控制台);然后读取文件并在控制台输出;最后实现对新创建的TXT文件(的数据进行排序后)的复制。分别对应三个函数,调用顺序需要注意:创建、读取、复制。
效果图如下:绿色部分为控制台输入的内容(当输入end时,结束)
packagecom.;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.util.Arrays;
importjava.util.Scanner;
importjava.util.Vector;
publicclassCreateAndReadTxt{
//文件名称
publicstaticStringfileName=".txt";
publicstaticStringnewFileName=".txt";
//文件路径
publicfinalstaticStringURL=System.getProperty("user.dir");
//CreateAndReadTxt.class.getResource("/").getPath();
//创建TXT文件
publicstaticvoidcreateTxtFile(StringfName,StringfileContent){
//创建文件
fileName=fName+fileName;
Filefile=newFile(fileName);
//可以更改
file.setWritable(true);
//判断当前路径下是否存在同名文件
booleanisExist=file.exists();
if(isExist){
//文件存在,删除
file.delete();
}
//写入文件
try{
//文件写入对象
FileOutputStreamfos=newFileOutputStream(file);
//输入流写入----默认字符为GBK
OutputStreamWriterosw=newOutputStreamWriter(fos);
//写入
osw.write(fileContent);
//写入完毕后关闭
osw.close();
System.out.println("成功创建文件: "+fileName);
}catch(IOExceptione){
System.out.println("写入文件失败: "+e.getMessage());
}
}
//阅读文件
publicstaticvoidreadFile(StringfileName){
System.out.println("开始读取文件: "+fileName);
//产生文件对象
Filefile=newFile(fileName);
//
try{
//字符读取
FileReaderfr=newFileReader(file);
//缓冲处理
BufferedReaderbr=newBufferedReader(fr);
Stringstr="";
while((str=br.readLine())!=null){
System.out.println(str);
}
//关闭
br.close();
fr.close();
}catch(FileNotFoundExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}catch(IOExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}
}
//文件复制
publicstaticvoidFile(StringfromFileName,StringtoFileName){
//读取文件
Filefile=newFile(fromFileName);
try{
FileReaderfr=newFileReader(file);
BufferedReaderbr=newBufferedReader(fr);
//定义接收变量
Vector<Double>vec=newVector<Double>();
Strings="";
while(null!=(s=br.readLine())){
vec.add(Double.parseDouble(s));
}
br.close();
fr.close();
//保存到数组并进行排序
Doubledou[]=newDouble[vec.size()];
vec.toArray(dou);
Arrays.sort(dou);
System.out.println("========复制文件=========");
//写入新文件
newFileName="副本"+newFileName;
FilenewFile=newFile(toFileName);
FileOutputStreamfos=newFileOutputStream(newFile,true);
OutputStreamWriterosm=newOutputStreamWriter(fos);
for(Doubled:dou){
osm.write(d.doubleValue()+"
");
}
osm.close();
fos.close();
}catch(FileNotFoundExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}catch(IOExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}
}
publicstaticvoidmain(String[]args){
/**
*构造数据
*/
Scannerscan=newScanner(System.in);
StringBuildersb=newStringBuilder();
Strings="";
while(!("end".equals(s=scan.next()))){//当输入end时,结束
sb.append(s);
sb.append("
");
}
scan.close();
/**
*使用数据
*/
CreateAndReadTxt.createTxtFile("creat",sb.toString());
CreateAndReadTxt.readFile(fileName);
System.out.println(fileName);
CreateAndReadTxt.File(fileName,newFileName);
CreateAndReadTxt.readFile(newFileName);
}
}
‘叁’ java将数据保存到txt文件
首先创建一个新的txt文件,然后new File(“txt文件路径”),
封装一个输入输出流,将要写入的数据写入到txt中,刷新流,关闭流。
代码如下:
public static void main(String[] args) throws IOException{
String str = "这个项目什么时候上线";
File file;//创建文件夹
FileOutputStream stream = null;//new文件流
try {
file = new File("C:/Users/qisf/Desktop/Aa.txt");
stream = new FileOutputStream (file);//将文件夹放在文件流中
if (!file.exists()) {
file.createNewFile();
}
byte[] contentInBytes = str.getBytes();//转化成字节形
stream.write(contentInBytes);//写入
stream.flush(); //写完之后刷新
stream.close();//关闭流
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
‘肆’ Java往TXT文件写入文字的问题
代码如下:
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的位置
‘伍’ java如何从数据库读取数据并写入txt文件
写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!
[java]viewplain
packagee.thu.keyword.test;
importjava.io.File;
importjava.io.InputStreamReader;
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileInputStream;
importjava.io.FileWriter;
publicclasscin_txt{
staticvoidmain(Stringargs[]){
try{//防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw
/*读入TXT文件*/
Stringpathname="D:\twitter\13_9_6\dataset\en\input.txt";//绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径
Filefilename=newFile(pathname);//要读取以上路径的input。txt文件
InputStreamReaderreader=newInputStreamReader(
newFileInputStream(filename));//建立一个输入流对象reader
BufferedReaderbr=newBufferedReader(reader);//建立一个对象,它把文件内容转成计算机能读懂的语言
Stringline="";
line=br.readLine();
while(line!=null){
line=br.readLine();//一次读入一行数据
}
/*写入Txt文件*/
Filewritename=newFile(".\result\en\output.txt");//相对路径,如果没有则要建立一个新的output。txt文件
writename.createNewFile();//创建新文件
BufferedWriterout=newBufferedWriter(newFileWriter(writename));
out.write("我会写入文件啦 ");// 即为换行
out.flush();//把缓存区内容压入文件
out.close();//最后记得关闭文件
}catch(Exceptione){
e.printStackTrace();
}
}
}
‘陆’ 如何用java写入txt,每次运行都覆盖前一次的内容(多行数据)
你把FileOutputStream out = new FileOutputStream(file, true);这里的true改为false或者不写,
当有true修饰时代表当该文件已经存在时在文件后继续写
而当为false或缺省时,若该文件名已经存在则会覆盖原文件
‘柒’ java中读出txt文件内容并更改怎么写入原txt文件
读取所有内容,修改后用IO重新写入一遍.
‘捌’ java 怎么将数据写入TXT文件
定义一个输出文件,然后输出就可以了,具体见下面的代码
importjava.io.*;
publicclassStreamDemo
{
publicstaticvoidmain(Stringargs[])
{
Filef=newFile("c:\temp.txt");
OutputStreamout=null;
try
{
out=newFileOutputStream(f);
}
catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
//将字符串转成字节数组
byteb[]="HelloWorld!!!".getBytes();
try
{
//将byte数组写入到文件之中
out.write(b);
}
catch(IOExceptione1)
{
e1.printStackTrace();
}
try
{
out.close();
}
catch(IOExceptione2)
{
e2.printStackTrace();
}//以下为读文件操作
InputStreamin=null;
try
{
in=newFileInputStream(f);
}
catch(FileNotFoundExceptione3)
{
e3.printStackTrace();
}
//开辟一个空间用于接收文件读进来的数据
byteb1[]=newbyte[1024];
inti=0;
try
{
//将b1的引用传递到read()方法之中,同时此方法返回读入数据的个数
i=in.read(b1);
}
catch(IOExceptione4)
{
e4.printStackTrace();
}
try
{
in.close();
}
catch(IOExceptione5)
{
e5.printStackTrace();
}
//将byte数组转换为字符串输出
System.out.println(newString(b1,0,i));
}
}
‘玖’ java怎样向一个文件(如txt文件)中写入一段数据,保存后下一次打开继续使用
这个JDK的类库都帮我们实现好了。如FileWriter类:
public FileWriter(File file,boolean append)
throws IOException根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
例子程序如下:
import java.io.File ;
import java.io.Writer ;
import java.io.FileWriter ;
public class WriterDemo02{
public static void main(String args[]) throws Exception}