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

次の例のように、各行を分割するのにこれが最適な方法かどうかはわかりません。

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 に答える
1

自分に有利に働きましょう: を使用してくださいFiles

ファイルへの取得は次のBufferedReaderように簡単です。

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

a の取得BufferedWriterは次のように簡単です。

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

ファイルからすべての行を読み取るのは、次のように簡単です。

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

などなど。 Files の javadoc を参照してください。Java 7 を使用している人は、Fileもう使用する理由がありません。

于 2013-06-12T14:20:05.427 に答える
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 に答える