2014-11-09 45 views
2

我有一个文件,里面有数据。在我的主要方法中,我读入文件并关闭文件。我调用另一种在原始文件的同一文件夹内创建新文件的方法。所以现在我有两个文件,即原始文件和从我调用的方法创建的文件。我需要另一种方法从原始文件中获取数据并将其写入创建的新文件。我怎么做?从一个文本文件中取出数据并将其移动到一个新的文本文件

import java.io.*; 
import java.util.Scanner; 
import java.util.*; 
import java.lang.*; 

public class alice { 

    public static void main(String[] args) throws FileNotFoundException { 
     String filename = ("/Users/DAndre/Desktop/Alice/wonder1.txt"); 
     File textFile = new File(filename); 
     Scanner in = new Scanner(textFile); 
     in.close(); 
     newFile(); 
    } 

    public static void newFile() { 
     final Formatter x; 
     try { 
      x = new Formatter("/Users/DAndre/Desktop/Alice/new1.text"); 
      System.out.println("you created a new file"); 
     } catch (Exception e) { 
      System.out.println("Did not work"); 
     } 
    } 

    private static void newData() { 
    } 

} 
+0

从文件中读取一行,并使用'printstream'将其打印在另一个 – 2014-11-09 05:45:04

+0

它像一个故事,所以将它仍然工作一样吗? – unlimited4311 2014-11-09 05:46:57

回答

0

如果您的要求是将您的原始文件内容复制到新文件。那么这可能是一个解决方案。

解决方案:

首先,读给你的原始文件使用BufferedReader和内容传递到使用PrintWriter它创建新的文件的另一种方法。并将你的内容添加到你的新文件。

例子:

public class CopyFile { 

    public static void main(String[] args) throws FileNotFoundException, IOException { 
    String fileName = ("C:\\Users\\yubaraj\\Desktop\\wonder1.txt"); 
    BufferedReader br = new BufferedReader(new FileReader(fileName)); 
    try { 
     StringBuilder stringBuilder = new StringBuilder(); 
     String line = br.readLine(); 

     while (line != null) { 
      stringBuilder.append(line); 
      stringBuilder.append("\n"); 
      line = br.readLine(); 
     } 
     /** 
     * Pass original file content as string to another method which 
     * creates new file with same content. 
     */ 
     newFile(stringBuilder.toString()); 
    } finally { 
     br.close(); 
    } 

    } 

    public static void newFile(String fileContent) { 
    try { 
     String newFileLocation = "C:\\Users\\yubaraj\\Desktop\\new1.txt"; 
     PrintWriter writer = new PrintWriter(newFileLocation); 
     writer.write(fileContent);//Writes original file content into new file 
     writer.close(); 
     System.out.println("File Created"); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
} 
+0

非常感谢你! – unlimited4311 2014-11-09 06:34:29

+0

@ unlimited4311不客气! – Yubaraj 2014-11-09 06:42:27

+0

我还有一个问题,如果我有更多文件要写入新文件,是否需要更改? – unlimited4311 2014-11-09 06:50:48

相关问题