1

これは私のプログラムです。「LTP」という単語で始まる文や「TRAILING」という単語を含む文を出力するべきではありませんが、それは行われません..理由がわかりません.

import java.io.*;

public class FileInputDemo {
    public static void main(String args[]) {
        // args.length is equivalent to argc in C
        try {
            // Open the file that is the first
            // command line parameter
            FileInputStream fstream = new FileInputStream(
                    "C:\\Documents and Settings\\work\\Desktop\\New Folder\\New Folder\\02Apr2013log1.txt");
            // Convert our input stream to a
            // DataInputStream
            DataInputStream in = new DataInputStream(fstream);
            // Continue to read lines while
            // there are still some left to read
            while (in.available() != 0) {
                String s=in.readLine();
                // Print file line to screen
            if(s.startsWith("LTP") || s.contains("TRAILING"))
            {
                continue;
            }

            System.out.println(in.readLine());
            }

            in.close();
        } catch (Exception e) {
            System.err.println("File input error");
        }
    }
}

そして、これが出力です

Long trade Managers in list (from Limit removal process) 2
LTP 9708.0 Current Stop 9723.0 for Order ID BAA0001 Mode:- TRAILING
9711.0 9716.0 9707.0 9707.0 9710.62
BullishFactor [openBullishFactor=NEUTRAL, closeBullishfactor=BEARISH, closeToOpenFactor=MODERATE_BEARISH]
BarSharing [sharingType=LLLH, bodySharing=0.44]
LTP 9707.0 Current Stop 9717.0 for Order ID BAA0001 Mode:- TRAILING
4

2 に答える 2

3

System.out.printlnString を印刷するべきではありませんsか?

 while (in.available() != 0) {
     String s=in.readLine();

     if(s.startsWith("LTP") || s.contains("TRAILING"))
     {
         continue;
     }

     System.out.println(s);
 }

印刷している場合はin.readLine()、読み取ったばかりの行 (に保存されている行s) の後に "TRAILING" が含まれているか、"LTP" で始まる可能性があります。

于 2013-04-09T05:49:59.790 に答える
0

で行から再度読み取らないでくださいSystem.out.println(in.readLine());。次の行を読み取り、LTP | かどうかをチェックしません。TRAILING はオンラインで利用できます。に置き換えますSystem.out.println(s);

于 2013-04-09T05:50:06.360 に答える