当前位置:首页 » 编程语言 » java写入txt

java写入txt

发布时间: 2023-08-23 00:17:13

⑴ 如何用java写入txt,每次运行都覆盖前一次的内容(多行数据)

你把FileOutputStream out = new FileOutputStream(file, true);这里的true改为false或者不写,

当有true修饰时代表当该文件已经存在时在文件后继续写
而当为false或缺省时,若该文件名已经存在则会覆盖原文件

⑵ java 写入txt文件的中文乱码是怎么回事

原因是写入时使用的字符编码和期望的不一致导致的。

⑶ 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文件写入文字的问题

代码如下:

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文件

定义一个输出文件,然后输出就可以了,具体见下面的代码

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

}

}
热点内容
存储光盘数据恢复 发布:2025-02-05 05:43:50 浏览:383
android位置信息吗 发布:2025-02-05 05:43:45 浏览:439
画师怎么配置电脑 发布:2025-02-05 05:38:56 浏览:968
c语言实验心得与小结 发布:2025-02-05 05:38:54 浏览:806
越南搭建服务器 发布:2025-02-05 05:34:03 浏览:979
php与oracle数据库 发布:2025-02-05 05:34:01 浏览:469
抢红包Android 发布:2025-02-05 05:32:22 浏览:275
摩托车压缩 发布:2025-02-05 05:23:48 浏览:609
access的sql语句怎么写 发布:2025-02-05 05:23:47 浏览:356
java的社区 发布:2025-02-05 05:21:36 浏览:70