【发布时间】:2019-03-22 01:10:18
【问题描述】:
所以我只是想办法完成我的 java 项目,但我在跳过空白时遇到了麻烦。除了这个,我几乎得到了所有方法。如果有人可以帮助我理解如何让 FileInputStream 跳过空格,那么我终于可以完成这个项目了。只是停留在这一部分。这个类的目的(不只是完成方法然后清理它)是接收一个文件(ASCII文本艺术)并“放大”一个完美的正方形。谢谢你
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class makeBiggerTesting {
public static void main(String[] args) {
String fileName = "";
Scanner keyBoard = new Scanner(System.in);
System.out.print("Enter fileName: ");
fileName = keyBoard.nextLine();
try {
int zoom = 9;
int i = (int) Math.sqrt((double) zoom);
//Scanner fileScan = new Scanner(fileName);
FileInputStream inputStream = new FileInputStream(fileName);
// while(inputStream.available() > 0) {
// char input = (char) inputStream.read();
// System.out.print((char) input);
//
// }
// System.out.println("");
while(inputStream.available() > 0) {
char input = (char) inputStream.read();
for(int row = 1; row <= i; row++) {
for(int col = 1; col <= i; col++) {
System.out.print((char) input);
}
System.out.println("");
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这是其中一个文件的样子:
@ @
output:
@@@ @@@
@@@ @@@
@@@ @@@
应该是这样的。但我明白了
@@@ (Bunch of space)@@@
@@@ @@@
@@@ @@@
当我运行程序时,它变成了一团糟,所以我认为它也在放大空白区域。不过我可能是错的
【问题讨论】:
-
请发布示例输入和输出。我认为您的文件不是“10 11”
-
你说得对,这个新的更好吗?
-
这似乎更好。
-
可以省略,记住上次的输出,如果是空格,现在输出空格,忽略当前输出。但是我认为您提出问题的想法不正确,如果“图像”最初包含空间怎么办?这是一个 X - Y 问题吗?
-
首先,请不要使用
InputStream.available(),它确实不按照您的想法行事。要确定您是否已到达流的末尾,请检查read()调用的返回值并将其与-1进行比较。 stackoverflow.com/questions/3695372/…
标签: java whitespace filereader