gpt4 book ai didi

java - 如果在 java 中的文件中发现不可打印的字符,则终止程序

转载 作者:行者123 更新时间:2023-12-01 10:08:00 26 4
gpt4 key购买 nike

所以,我试图在java中以字符串形式读取ASCII原始文件,然后将其转换为字符数组。例如,它应该能够读取“ab”,因为它们的 ASCII 值为 96 和 97。但是,如果文件的 ASCII 值不是 32 - 126 并且为空,我希望程序结束。

到目前为止我有这个:

try {
Scanner inputFile = new Scanner(new FileReader(fileArg));

while(inputFile.hasNext() && inputFile != null){

inputString += inputFile.next();
}

char inputArray[] = inputString.toCharArray();

for(int a = 0; a < inputString.length(); a++){
if((int)inputArray[a] < 32 && (int)inputArray[a] > 126){
System.out.println("Invalid character found. "
+ "The program will now terminate");
System.exit(0);
}

}
}

最佳答案

当您检查字符是否超出范围时,应该使用 OR || 而不是 AND &&。一个角色不能同时低于和高于你的限制。

更改为

if ((int)inputArray[a] < 32 || (int)inputArray[a] > 126)

更新:为了也输入空白字符,请使用 nextLinehasNextLine 而不是 next。默认情况下,next 会跳过空格。

关于java - 如果在 java 中的文件中发现不可打印的字符,则终止程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36322359/

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