java-循环问题并将数据导出到文件

weylhg0b  于 2021-07-08  发布在  Java
关注(0)|答案(0)|浏览(237)

这个简单程序的目的是读取一个文件,从用户那里获取变量并将其保存到一个新的文件中,当从循环中获取的值不重复时,程序工作正常。
当前文件(books.txt)内容:“历史
体育
“小说”
当前文件(books\u new.txt)内容:“嗨,汤姆,你喜欢吗“嗨,汤姆,你喜欢体育嗨,汤姆,你喜欢小说”
预期文件(books\u new.txt)内容:“嗨,汤姆,你喜欢吗你喜欢历史以外的书吗?
嗨,汤姆,你喜欢运动吗?你喜欢运动以外的书吗?
嗨,汤姆,你喜欢小说吗?你喜欢小说以外的书吗?”
你能帮我完成这个循环/输出吗?
以下是程序代码:

package reader;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Reader {
public static void addToFile(String fileName,String Name, ArrayList<String> Hobbies) 
{ 
    try { 

        // Open given file in append mode. 
        BufferedWriter out = new BufferedWriter( 
               new FileWriter(fileName)); 
        for(int i=0;i<Hobbies.size();i++)
        out.write("Hi "+Name+", you like "+Hobbies.get(i)+System.getProperty("line.separator")); 
        out.close(); 
    } 
    catch (IOException e) { 
        System.out.println("exception occoured" + e); 
    } 
} 

public static void main(String[] args) throws IOException {

     File file = new File("Books.txt"); 
     ArrayList<String> Hobbies =new ArrayList<String>();
     BufferedReader br; 
     try {
         br = new BufferedReader(new FileReader(file));
         String st; 
         while ((st = br.readLine()) != null){
             Hobbies.add(st);
         }
         Scanner   s = new Scanner(System.in);
         System.out.print("Please Enter Your Name: ");
         String name= s.next();

         Reader.addToFile("Books_new.txt", name, Hobbies);

}
catch (FileNotFoundException ex) {
    Logger.getLogger(Reader.class.getName()).log(Level.SEVERE, null, ex);
}

}

}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题