java - 在java中跳过空格
问题描述
所以我只是在想办法完成我的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)@@@
@@@ @@@
@@@ @@@
当我运行程序时,它变得一团糟,所以我认为它也在放大空白区域。我可能是错的
解决方案
我不确定我是否完全理解您的问题。您是否在追求类似以下的事情
public class makeBigger {
public static void main(String[] args) {
Scanner keyBoard = new Scanner(System.in);
System.out.print("Enter fileName: ");
String fileName = keyBoard.nextLine();
int zoom = 9;
int i = (int) Math.sqrt((double) zoom);
try(FileInputStream inputStream = new FileInputStream(fileName)){
int input = -1;
String line = "";
while ((input = inputStream.read()) > 0 ) {
if((char)input == ' ') {
line += (char) input;
}else if(input == 10 || input == 13) {
for (int col = 1; col <= i; col++) {
System.out.println(line);
}
line = "";
}else {
line += new String(new char[i]).replace("\0", ""+(char)input);
}
}
if(! "".equals(line)) {
for (int col = 1; col <= i; col++) {
System.out.println(line);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
推荐阅读
- c# - 在基本类型和原始字节之间转换的正确方法?
- android - Android自定义键盘在BottomSheetDialogFragment中不起作用
- tableau-api - 从 tableau 中的表创建线图
- scala - 无法读取 Parquet 支持的区分大小写的 Glue 表
- excel - StopTimer() 不工作。需要一种在 excel 中重新启动计时器的方法
- angular - 如何在 Angular 2+ 中将 Reactive Form 值与带下划线的模型同步
- c# - 为什么 Queryable.OrderBy 方法允许动态第二个参数?
- c - 使用 SLLI 访问循环中的数组元素
- python - 如何拆分'; ' 在 pandas 中使用 read_csv() 后在 pandas 中分离 CSV 文件?
- c# - 如何使用触发器更改按钮内容的属性