java怎样向一个文件(如txt文件)中写入一段数据,保存后下一次打开继续使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎样向一个文件(如txt文件)中写入一段数据,保存后下一次打开继续使用?相关的知识,希望对你有一定的参考价值。

参考技术A

    这个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


java的优点:

    java是纯面向对象编程的语言;

    平台无关性 (一次编译,到处运行;Write Once,Run Anywhere);

    java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作,同时缩短了项目开发时间;

    提供了对Web应用开发的支持,例如,Applet,Servlet,和JSP可以用来开发Web应用程序,Socket,RMI可以用来开发分布式应用程序的类库。

java 如何向txt文件中的某一行继续写入

打开一个已存在的txt文件,每一行是一条记录。
想对已知的某一行进行追加写入,如,在第五行继续写入一个字符串,有什么思路?

最好有具体的代码例子。
问题的关键不在于追加,在于向特定的某一行写入。
比如文件有10行啊~我只想在第五行接着写。

Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。这就是“Random”的意义所在。


相关API:

RandomAccessFile(String
name, String
mode)构造器,模式分为r(只读),rw(读写)等

RandomAccessFile.readLine()方法实现对一整行的读取,并重新定位操作位置

RandomAccessFile.write(byte[] b)用于字节内容的写入


示例如下:

RandomAccessFile raf = new RandomAccessFile("f:/1.txt", "rw");
int targetLineNum = 10;
int currentLineNum = 0;
while(raf.readLine() != null)
    if(currentLineNum == targetLineNum) // 定位到目标行时结束
break;
    
    currentLineNum++;

raf.write("\\r\\ninsert".getBytes());
raf.close();


参考技术A FileWriter(String fileName, boolean append)
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象
你仔细看看构造方法,有一个就是你象要的,比如上面的

你可以先查找要插入的位置,然后用
write
public void write(String str,
int off,
int len)
throws IOException写入字符串的某一部分。

参数:
str - 字符串
off - 相对初始写入字符的偏移量
len - 要写入的字符数
这个方法
参考技术B 可以将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter将流数据写到目的地。
例如:
FileWriter tofile=new FileWriter("Student.txt");
BufferedWriter out=new BufferedWriter(tofile);
参考技术C 用RandomAccessFile不行吗?

以上是关于java怎样向一个文件(如txt文件)中写入一段数据,保存后下一次打开继续使用?的主要内容,如果未能解决你的问题,请参考以下文章

java 如何向txt文件中的某一行继续写入

java代码 如何向TXT文件写入内容?

如何用PYTHON把一组数据写入一个文件

java怎样把一字符串数组写入.txt文件中?

java客户端如何向服务器txt文件写入信息

如何用php向txt写入数据