我正在尝试找到一种使用java从文本文件中提取或读取一种内容的方法。
比方说我的文本文件包含:
您叫什么名字,00 5 6 0 K写下您的0 9 2名字不要说话 大约1 1 0 5它
现在我想要什么-我的java程序运行,并且只能找到1和0的二进制值。保留文本文件中的所有其他内容并显示它们。同样,如果可能的话,还要对二进制值进行计数。
谢谢
答案 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
谢谢大家的帮助。