从文本文件中读取值并将其另存为另一个文件

时间:2013-03-20 14:01:06

标签: file

我想为我的项目创建现金备忘录。

现在我有点问题。

如何从文本文件中读取特定值,然后将该值保存在另一个文本文件中。

示例:

data.txt文件中有一些值。

Item Name  : m-01

Item Brand : One Man

Item size  : XXL

Item Price : 1000

Item vat   : 15%

这些是data.txt

中保存的数据

现在我的程序将询问项目名称以及何时编写项目名称(例如:m-01) 它只需要取值1000(价格)和15(增值税),然后将它们保存在新的txt文件中data2.txt

我该怎么做?

请帮帮我。

2 个答案:

答案 0 :(得分:0)

public class WriteOrderNumberFile {

       private static void copyFile(String sourceFileName, String
    destinationFileName, String orderNr) {

          // orderNr = "LEC##0000000073";
          BufferedReader br = null;
          PrintWriter pw = null;

          try {
             br = new BufferedReader(new FileReader(sourceFileName));
             pw = new PrintWriter(new FileWriter(destinationFileName));
             String token;
             String line;
             Scanner inFile;
             while ((line = br.readLine()) != null) {
                inFile = new Scanner(line);

                while (inFile.hasNext()) {
                   token = inFile.next();
                   if (token.equals(orderNr)) {
                      System.out.println(token);
                      pw.println(line);
                      while ((line = br.readLine()) != null) {
                         inFile = new Scanner(line);
                         while (inFile.hasNext()) {
                            token = inFile.next();
                            if (token.equals("Run")) {
                               br.close();
                               pw.close();
                               return;
                            }
                         }
                         pw.println(line);
                      }

                   }

                }

             }

             br.close();
             pw.close();
          } catch (Exception e) {
             e.printStackTrace();
          }    }

       public static void main(String[] args) {
          String sourceFileName = "D:\\Test Folder\\source.txt";
          String destinationFileName = "D:\\Test Folder\\destination.txt";
          String orderNr = "LEC##0000000064";
          copyFile(sourceFileName, destinationFileName, orderNr);    }

    }

答案 1 :(得分:0)

您可以在此处使用几个bash命令:

$ egrep 'Item vat|Item Price' data.txt | cut -f2 -d:
 1000
 15%