java如何读取并修改txt文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何读取并修改txt文件相关的知识,希望对你有一定的参考价值。

txt存放路径为D:/ABC/1.txt
文件内容为:\bin\Host\Host.exe
\bin\InfoPlayer\InfoPlayer.exe
\bin\FileManager\FileManager.exe
\bin\Updater\Updater.exe
\bin\NTP_Client\ntp_Client.exe
请问如何用java读取并修改文件内容
(要有说明的代码最好 谢谢了!!!!!!!!!!)

Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法为抽象方法。子类应该分别实现他们。
Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。
FileReader读txt文件例子
FileReader fr = new FileReader("D:/Test.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
System.out.print( (char)ch );

其中read()方法返回的是读取得下个字符。

InputStreamReader读txt文件例子
InputStream is = new FileInputStream(new File("D:/Test.txt"));
InputStreamReader fr = new InputStreamReader(is);
int ch = 0;
while((ch = fr.read())!=-1 )
System.out.print((char)ch);

这和FileReader并没有什么区别,事实上在FileReader中的方法都是从InputStreamReader中继承过来的。 read()方法是比较好费时间的,如果为了提高效率,我们可以使用BufferedReader对Reader进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用 readLine()方法。
BufferedReader br = new BufferedReader(new FileReader("Test.txt")));
String data = br.readLine();//一次读入一行,直到读入null为文件结束
while( data!=null)
System.out.println(data);
data = br.readLine(); //接着读下一行

当你明白了如何用Reader来读取文本文件的时候那么用Writer写文件同样非常简单。有一点需要注意,当你写文件的时候,为了提高效率,写入的数据会先放入缓冲区,然后写入文件。因此有时候你需要主动调用flush()方法。

有读就有写,写文本文件可以使用PrintWriter,FileWriter,BufferedWriter。
FileWriter fw = new FileWriter("D:/Test.txt");
String s = "hello world";
fw.write(s,0,s.length());
fw.flush();

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("D:/Test1.txt"));
osw.write(s,0,s.length());
osw.flush();

PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream("D:/Test2.txt")),true);
pw.println(s);

fw.close();
osw.close();
pw.close();
如果想接着写入某个文件。 声明时FileWriter fw = new FileWriter("log.txt",true);加个true就可以了。
File file = new File("D:/Test.txt");
File dest = new File("D:/new.txt");
try
BufferedReader reader = new BufferedReader(new FileReader(file));
BufferedWriter writer = new BufferedWriter(new FileWriter(dest));
String line = reader.readLine();
while(line!=null)
writer.write(line);
line = reader.readLine();

writer.flush();
reader.close();
writer.close();
catch (FileNotFoundException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
参考技术A 这个算是基本的操作技能了.
给你个思路,用io的bufferedRead流读取文件每次读取一行.对读取的内容进行修改再放入到一个StringBuilder里.
文件读完后,再用io的FileWriter写出到原文件中就行了
代码不想写了,这个基本的技能你正好自己练练,有好处的
参考技术B public static void main(String[] args) throws IOException
BufferedReader bufferedReader = null;
PrintWriter printWriter = null;

try
bufferedReader = new BufferedReader(new FileReader("D:\\ABC\\1.txt"));

String l;

while ((l = bufferedReader.readLine()) != null)
// opeartion l
System.out.println(l);

finally
if (bufferedReader != null)
bufferedReader.close();


if (printWriter != null)
printWriter.close();




希望对 你有所帮助。。。本回答被提问者采纳
参考技术C java.lang.io.*包 参考技术D FileReader fr=new FileReader("D:/1.txt");
FileWriter fw=new FileWriter("D:/1.txt");
BufferedReader br=new BufferedReader(fr);
BufferedWriter bw=new BufferedWriter(fw);
String read=null;
String all=null;
while((read=br.readLine())!=null)

System.out.println(read+" 你想修改吗?Y/N:");
Scanner scan=new Scanner(System.in);
if(scan.next().equals("Y"))

all+=scan.nextLine();

all+=read;

bw.write(all);

java怎么修改文件名称

一般的操作:

File file=new File("word.txt");
String filename=new String("word1.txt");//更改后的文件名
file.renameTo(filename);//更改文件名操作

判断是否已经更改文件名:

File file=new File("word.txt");
String filename=new String("word1.txt);
if(file.renameTo(filename))
System.out.println("修改文件名成功");
else
System.out.println("修改文件名失败");

file是更改文件名之前的文件,可以为绝对路径或相对路径:

绝对路径可表示为:File file=new File("D:/word.txt");

相对路径的根文件夹与src文件夹同级,如File file=new File("worddir/word.txt");中的worddir文件夹与src同级

filename是更改文件名之后的文件的文件名(包含后缀)

参考技术A public class test1

public static void main(String[] args)
File file=new File("D:/gai.jpg"); //指定文件名及路径
String name="123"; //新文件名字
String filename=file.getAbsolutePath();
if(filename.indexOf(".")>=0)
filename = filename.substring(0,filename.lastIndexOf("."));

file.renameTo(new File(name+".jpg")); //改名

参考技术B 什么环境eclipse还是?

以上是关于java如何读取并修改txt文件的主要内容,如果未能解决你的问题,请参考以下文章

怎样用C#读取TXT文件内容并修改

如何读取txt文件并存储在c中的结构数组中

如何在html中读取txt内容并修改后存入txt内

java如何从数据库读取数据并写入txt文件!

java写入txt文件 想要修改txt文件每一行的第一个数字 加一就好

如何让MATLAB自己连续的读取文本文件