我怎样才能在java中写入特定文本文件的位置

时间:2016-01-20 16:05:16

标签: java text-files

问题是我有四个不同的数组列表。我想根据用户给出的输入插入特定数组列表类的数据。 我怎么能这样做?

 import java.io.*;
 import java.util.*;

public class acquaintances
{ 
    public static void main(String args[])
   {
     Arraylist<relative>re=new Arraylisrt<relative>();
     Arraylist<personalfriend> pf=new Arraylist<personalfriend>();
     Arraylist<casualfriend> cf=new Arraylist<casualfriend>();
     Arraylist<professionalfriend> prf=new Arraylist<professionalfriend>():

这些是不同的arraylists。

我想在文本文件

中按顺序编写不同的acquantances信息

休闲朋友1

随便的朋友2

........

亲戚1

相对2

...

personalfriend1

个人朋友2

个人朋友3

...........

professionalfriend1

professionalfriend2

..................

此外,如果我删除特定的细节。那么我该如何抹去特定的

文件详情

     String name=null,number=null,email=null;
     File file = new File("Readme.txt");
     if (!file.exists()) {
            file.createNewFile();
        }

     Scanner sc=new Scanner(System.in);

     int ch=0,chu=0;
     String jaff=null,baff=null;
     FileWriter fw = new FileWriter(file.getAbsoluteFile());
     BufferedWriter bw = new BufferedWriter(fw);

     String cmet_why=null,cinfo=null,cdate=null;

     while(1)
     {
         System.out.println("Enter name,number,email of acquaintance");
         name=sc.nextLine();
         number=sc.nextLine();
         email=sc.nextLine();
         System.out.println("1.Create 2.Delete 3.Display 4. DisplayAll 5.Search );
        ch=sc.nextInt();
        jaff=sc.nextLine();
        Switch(ch):
        {
            case 1:
            {
                System.out.println("1.Casual friend 2.relative 3.personal friend 4. Professional friend");
                chu=sc.nextInt();
                baff=sc.nextLine();
                if(chu==1)
                {
                   System.out.println("Enter reasonto meet ,dateof meeting,info");
                   cmet_why=sc.nextLine();
                   cdate=sc.nextLine();
                   cinfo=sc.nextLine();
                   casualfriend cfriend=new casualfriend(name,number,email,cmet_why,cdate,cinfo);

这里我将类对象添加到临时朋友列表

我希望将其写入该位置的文本文件。

问题是它位于文本文件的中间。

在此之后,我必须写亲戚,私人朋友,专业朋友。

逐行信息

                   cf.add(cfriend);

                }
            }

        }
    }


}

}

有不同的开关案例。我想按顺序写这些。

1 个答案:

答案 0 :(得分:0)

public static void writeWithRandmoAccessFile( String content, String filePath) {

        try (RandomAccessFile randomAccessFile = new RandomAccessFile(new File(filePath), "rw")) {

        // move the cursor to the end of the file
        // you can move the cursor to any position inside the file or to write at random positions
        randomAccessFile.seek(randomAccessFile.length());//random position

        randomAccessFile.write(content.getBytes());

        // alternatively you can use randomAccessFile.writeChars(content)
        // or randomAccessFile.writeUTF(content);
    } catch (IOException e) {
        e.printStackTrace();
    }
}