2

我是编程初学者。

我正在尝试从文件中读取每一行的第一个单词,并且我想将所有第一个单词写入另一个文件。

我已经完成了以下代码。

import java.io.*;
import java.nio.charset.Charset;

public class ReadWord
 {
   public static void main(String args[])
     {
    BufferedReader br;
    String line;
    int count = 0;
    InputStream fis = null;

    try
    {
        fis = new FileInputStream("D:/Android/WorkSpace10-1/FileHandling.Java/src/123.txt");
        br = new BufferedReader( new InputStreamReader(fis, Charset.forName("UTF-8")));
        while((line = br.readLine())!=  null)
        {
            System.out.println(line);
            String result[] = line.split(",");
            while(line!=",")
            {                   
              System.out.println(result);               
            }               
        }               
    }

    catch(Exception e)
    {
        System.out.println(e);
    }

    finally
    {
        try
        {
            fis.close();
        }
        catch(IOException ie)
        {
            System.out.println(ie);
        }
    }
}
}

请帮助我如何读取每一行的第一个单词并将该单词写入另一个文件。

4

3 回答 3

1

帮自己一个忙:使用Files.

获取一个BufferedReader文件很简单:

final BufferedReader reader 
    = Files.newBufferedReader(Paths.get("pathToFile"), StandardCharsets.UTF_8);

获取 aBufferedWriter很简单:

final BufferedWriter writer
    = Files.newBufferedWriter(Paths.get("pathToFile"), StandardCharsets.UTF_8);

从文件中读取所有行很简单:

final List<String> lines 
    = Files.readAllLines(Paths.get("pathToFile"), StandardCharsets.UTF_8);

等等。请参阅javadoc 的 Files。任何使用 Java 7 的人都没有理由再使用File了!

于 2013-06-12T14:20:05.427 回答
1

我不确定这是您可以像以下示例一样拆分每一行的最佳方法:

String hello = "Hello world, How is everyone";
String[] split= hello.split(" ");
String first = split[0];

........

然后使用 BufferedWriter 将其写入文件,如下所示:

BufferedWriter bw = new BufferedWriter(new FileWriter("MyFIle.txt"));

bw.write(first);
bw.newLine();

bw.close();

这只是一个指南。

于 2013-06-12T14:15:11.970 回答
0

我为你编写了一个程序来读取文件中每一行的第一个单词,然后写入另一个文件。这不是一个完美的程序,但它可以工作,至少应该给出一个起点。

String separator = System.getProperty( "line.separator" );
                 BufferedReader br;
                 String line;
                 InputStream fis = null;
                 File file = new File("C:\\junk\\out.txt");
                    // if file doesnt exists, then create it
                    if (!file.exists()) {
                        file.createNewFile();
                    }
                 FileWriter fw = new FileWriter(file.getAbsoluteFile());
                 BufferedWriter bw = new BufferedWriter(fw);

                 try
                 {
                     //your input file
                     fis = new FileInputStream("C:\\junk\\test.txt");
                     br = new BufferedReader( new InputStreamReader(fis, Charset.forName("UTF-8")));
                     while((line = br.readLine())!=  null)
                     {
                         System.out.println(line);
                         String result[] = line.split(" ");
                         String word = result[0];
                         bw.write(word);
                         bw.write(separator);
                     }    
                 }

                 catch(Exception e)
                 {
                     System.out.println(e);
                 }

                 finally
                 {
                     try
                     {
                         //close the files
                         fis.close();
                        bw.close();
                     }
                     catch(IOException ie)
                     {
                         System.out.println(ie);
                     }
                 }
于 2013-06-12T14:43:34.133 回答