gpt4 book ai didi

java - 为什么我不能将二进制字符串与空格连接起来? (就像下面的例子)

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:52 24 4
gpt4 key购买 nike

1)这是我的问题发生的类(class):

import java.io.FileReader;
import java.io.IOException;


public class ByteFileReader {
private Converter c = new Converter();

public void readFile() {

try {
FileReader f = new FileReader("C:\\Users\\Troy\\Dropbox\\DATAMATIKER\\Programmering Eclipse\\eclipse\\Eclipse Workspace\\2.Semester OS - Binær Streng Læser\\src\\dummyFile.txt");

for ( int i=0; f.ready(); i++ ) {
int character = f.read();
System.out.print( c.toBinaryString( character ) + " " );
}

f.close();

} catch ( IOException e ) {
System.out.println("Some exception was handled!");
}

}

}

2)具体而言,在这一行中:

System.out.print( c.toBinaryString( character ) + " " );

3) 现在,方法 toBinaryString() 在以下 Converter 类中定义,该类是 c 对象:

public class Converter {

public String toBinaryString(int b) {
return Integer.toBinaryString(b);
}

public String toHexadecimalString(int b) {
return Integer.toHexString(b);
}

}

4)最后,我的主类和 main 方法:

public class Main {

public static void main(String[] args) {
ByteFileReader b = new ByteFileReader();

b.readFile();

}
}

这就是我所有的代码。所以我认为现在应该可以在另一台 Eclipse 中的另一台计算机上重现完全相同的情况。只需将FileReader的文件目录更改为您自己电脑上的目录即可。希望大家能够帮忙!

(注意!奇怪的部分是,如果您在有问题的文本字符串中放置句点“.”、斜杠“/”或其他一些符号,它将正常工作并将所有二进制字符串打印到控制台,就像它应该与空格一样。)我的意思是这样的:

System.out.print(c.toBinaryString(character) + ".");

(编辑:上面的行给出了应有的以下输出。这当然来 self 的特定文件。重点是它需要输出二进制字符串,每个字符串之间有一个串联)

1001101.1101111.1110010.1100101.1100010.1100001.1110010.1101110.1100101.100000.1101111.1110010.100000

如下行:

System.out.print(c.toBinaryString(character) + " ");

根本没有给我任何输出!

最佳答案

这不是您的代码的问题。你的代码工作正常。我们遇到了 Eclipse 控制台 View 的问题。由于某种原因,它无法使用空格显示一长行。有两种解决方案可以解决这个问题:

  1. 限制 Eclipse 控制台中的线宽

    Use context menu Enable fixed console width

  2. 修改您的代码来执行此操作

    int length = 0;
    for (int i = 0; f.ready(); i++) {
    int character = f.read();
    String s = c.toBinaryString(character) + " ";

    length += s.length();
    if (length > 80) {
    s += "\n";
    length = 0;
    }
    System.out.print(s);
    }

关于java - 为什么我不能将二进制字符串与空格连接起来? (就像下面的例子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29147872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com