首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java -文件操作

Java -文件操作
EN

Stack Overflow用户
提问于 2012-12-18 01:23:38
回答 3查看 686关注 0票数 1

我在输入文件a.txt中有一些内容,如下所示

代码语言:javascript
运行
复制
Line 1 : "abcdefghijk001mnopqr hellohello"
Line 2 : "qwertyuiop002asdfgh welcometologic"
Line 3 : "iamworkingherefromnowhere002yes somethingsomething"
Line 4 : "thiswillbesolved001here ithink"

我必须读取a.txt文件并将其写入两个单独的文件。即,应将具有001的行写入output1.txt,并将具有002的行写入output2.txt

有人能帮我讲讲Java编程中的逻辑吗?

谢谢,纳伦

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-18 01:35:39

代码语言:javascript
运行
复制
BufferedReader br = new BufferedReader( new FileReader( "a.txt" ));
String line;
while(( line = br.readLine()) != null ) {
    if( line.contains( "001" )) sendToFile001( line );
    if( line.contains( "002" )) sendToFile002( line );
}
br.close();

方法sendToFile001()和sendToFile002()编写参数行,如下所示:

代码语言:javascript
运行
复制
ps001.println( line );

使用类型为PrintStream的ps001和ps002,以前打开过(在构造函数中?)

票数 2
EN

Stack Overflow用户

发布于 2012-12-18 01:31:48

下面是Reading and writing text files using Java的一个很好的示例,检查条件执行以下操作

代码语言:javascript
运行
复制
while ((line = reader.readLine()) != null) {
    //process each line in some way
    if(line.contains("001") {
     fileWriter1.write(line);  
    } else if (line.contains("002") ) {
     fileWriter2.write(line);    
    }
  } 
票数 0
EN

Stack Overflow用户

发布于 2012-12-18 01:53:42

代码完成。

代码语言:javascript
运行
复制
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jfile;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;

/**
 *
 * @author andy
 */
public class JFile {

    /**
     * @param args the command line arguments
     */

    static File master = null,
                m1     = null, // file output with "001"
                m2     = null; // file output with "002"

    static FileWriter fw1,
                      fw2;

    static FileReader fr = null;
    static BufferedReader br = null;

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

         String root = System.getProperty("user.dir") + "/src/files/";

         master = new File ( root + "master.txt" );
         m1     = new File ( root + "m1.txt");
         m2     = new File ( root + "m2.txt");

         fw1     = new FileWriter(m1, true);
         fw2     = new FileWriter(m2, true);


         fr = new FileReader (master);
         br = new BufferedReader(fr);

         String line;
         while((line = br.readLine())!=null)
         {
             if(line.contains("001")) 
             {               
                 fw1.write(line + "\n");

             } else if (line.contains("002"))
             {
                 fw2.write(line + "\n");

             }
         }

         fw1.close();
         fw2.close();
         br.close();
    }

}

项目Netbeans:http://www.mediafire.com/?yjdtxj2gh785cyd

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13918933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档