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的实现类,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);//更改文件名操作
判断是否已经更改文件名:
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是更改文件名之后的文件的文件名(包含后缀)
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文件的主要内容,如果未能解决你的问题,请参考以下文章