从Java中的文本文件中仅读取完全匹配的数据

时间:2018-07-04 13:24:08

标签: java binary

我正在尝试找到一种使用java从文本文件中提取或读取一种内容的方法。

比方说我的文本文件包含:

  

您叫什么名字,00 5 6 0 K写下您的0 9 2名字不要说话   大约1 1 0 5它

现在我想要什么-我的java程序运行,并且只能找到1和0的二进制值。保留文本文件中的所有其他内容并显示它们。同样,如果可能的话,还要对二进制值进行计数。

谢谢

2 个答案:

答案 0 :(得分:0)

我找到了解决方法-第一个文件

package Binary; 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 

public class Read1 {

    public static void main(String[] args) 
    { 
        BufferedReader br = Read2.openFile("src/in.txt"); 
            String line; 
                while ((line = Read2.readLine(br)) != null) 
        { 
            for (char letter : line.toCharArray()) 
            {       if (letter >= '0' && letter <= '1') 
                    System.out.print(letter + " "); 
            } System.out.println(); 
        }   
    } 
}

这是程序包中的另一个文件

package Binary; 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 


public class Read2 
{ 
    public static BufferedReader openFile(String filename) 
    { 
        try { 
                return new BufferedReader(new FileReader(filename)); 
            } 
            catch (IOException e) 
            { 
                return null; 
            } 

    } 

    public static void closeFile(BufferedReader reader) 

    { try 
        { 
            reader.close(); 
        } catch (IOException e) 
        { 

        } 
    } 

    public static String readLine(BufferedReader reader) 
    { 
        try 
        { 
            return reader.readLine(); 
        } catch (IOException e) 
        { 
            return null; 
        }
    }

}

我的文本文件看起来像:

  

你好吗

     

1 0 1 0 1 0   0 10 10 10 10 111 0100 1 111

     

Man01 No932   53 53 46 4 2

     

33 0 0 3

输出结果为:

1 0 1 0 1 0 
0 1 0 1 0 1 0 1 0 
1 1 1 0 1 0 0 1 1 1 1 
0 1  
0 0 

现在要进一步改进程序,我还想打印该程序在文本文件中找到0和1的次数。基本上,总发生次数。

有帮助吗?

答案 1 :(得分:0)

我找到了解决方案,只需更改第一个文件Read1-我所做的就是用count ++表示0的计数和c ++表示1的计数。希望能帮助到你。

package Binary; 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 

public class Read1 {

    public static void main(String[] args) 
    {   int count=0;
        int c=0;

        BufferedReader br = Read2.openFile("src/in.txt"); 
            String line; 

                while ((line = Read2.readLine(br)) != null) 
        { 
            for (char letter : line.toCharArray()) 
            {       if (letter == '0')
            {
                count++;
            }
            if (letter == '1') {
                c++;
            }

            } 


        }

                System.out.println("Number of Zeros:" +count);
                System.out.println("Number of ones:" +c); 
}
}

以下是输出:

  

零位数:14

     

个数:16

谢谢大家的帮助。