- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我使用 FileInputStream 从 spawn.txt 文件输入基于图 block 的 map 的文本时,它会在每行之间添加额外的空格。
package mapInit;
import java.io.FileInputStream;
public class SpawnMap {
static char[][] spawnWorld = new char[30][30];
public static void main(String[] args) {
try {
FileInputStream spawn = new FileInputStream("Resources/Map/spawn.txt");
int i = 0;
int h = 0;
int k = 0;
while((i=spawn.read())!=-1){
if(h == 30) {
h = 0;
k++;
}
spawnWorld[k][h] = (char)i;
h++;
}
spawn.close();
} catch (Exception e) {
}
for (int i=0; i<30; i++) {
for (int j=0;j<30;j++) {
System.out.println(spawnWorld[i][j]);
}
}
}
}
最佳答案
我认为 Scanner
类更适合您的任务
Scanner class in Java is found in the java.util package. Java provides various ways to read input from the keyboard, the java.util.Scanner class is one of them.
The Java Scanner class breaks the input into tokens using a delimiter which is whitespace by default. It provides many methods to read and parse various primitive values.
The Java Scanner class is widely used to parse text for strings and primitive types using a regular expression. It is the simplest way to get input in Java. By the help of Scanner in Java, we can get input from the user in primitive types such as int, long, double, byte, float, short, etc.
The Java Scanner class extends Object class and implements Iterator and Closeable interfaces.
The Java Scanner class provides nextXXX() methods to return the type of value such as nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), etc. To get a single character from the scanner, you can call next().charAt(0) method which returns a single character. Source
public static void main(String arg[]) {
try (Scanner sc = new Scanner(new File("Resources/Map/spawn.txt"))) {
// Checking if sc has another token in the file
while(sc.hasNext()) {
// Print line
System.out.println(sc.next());
}
} catch (Exception ex) {
// Use a Logger to log exceptions in real projects
ex.printStackTrace();
}
}
您也可以使用 Apache Commons IO 库
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class ReadTextFile {
public static void main(String[] args) throws IOException {
try {
File f = new File("Resources/Map/spawn.txt");
List<String> lines = FileUtils.readLines(f, "UTF-8");
for (String line : lines) {
System.out.println(line);
}
} catch (IOException e) {
// Use a Logger to log exceptions in real projects
e.printStackTrace();
}
}
}
关于Java FileInputStream 问题(额外空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57560506/
这可能有点傻,但我想知道后台操作的区别。 InputStream is = new FileInputStream(filepath); FileInputStream is = new FileIn
优点: 所以,我有这个二进制数据文件(大小 - 恰好 640631 字节),我正试图让 Java 读取它。 我有两个可互换的类实现为读取该数据的层。其中之一使用 RandomAccessFile,效果
问题是当我在 Android Studio 中运行我的程序时,FileInputStream 找不到 c:\poi-test.xls 文件。 我在 Android Studio 中运行的简单测试 ja
Scanner scanner= new Scanner(new File("target.txt")); 和 FileInputStream d = new FileInputStream("tar
我有 @Component public class CodesConverterService { private final FileInputStreamFactory fileInput
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我正在创建一个程序,用于根据 iTunes 播放列表文件从用户的计算机播放音乐。当我尝试根据播放列表文本文件中提供的位置打开音频文件时,它说存在错误。 filename = "Macintosh HD
我需要读取的文件如下所示: 30 15 6 3 12 20 3 4 (没有要点) inputStream 没有读取 30 和 15,但它正在读取所有其他的。 如何让 inputStream 读取第一行
我收到“找不到文件!”无论我做什么。 FileInputStream fin; try { fin = new FileInputStream("foo.txt");
public static void main(String[] args) { try { File f = new File("file.txt");
我正在加载另一个类通过 FileOutputstream 方法保存的文件。无论如何,我想在另一个类中加载该文件,但它要么给我语法错误,要么使我的应用程序崩溃。 我能找到的唯一教程是在同一个类中保存和加
我在 res/raw 中有一个名为“pack.dat”的原始文件。 我可以使用以下代码打开一个InputStream: InputStream fis = null; try {
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
我已经对我的代码进行了 klocwork 代码分析。我收到以下错误我终于关闭了输入流即使那样我也收到错误“fileInputStream”在退出时未关闭。 下面是一段代码 LOGGER.log
我想逐个标记地读取 file.txt 文件中的单词,并向每个标记添加词性标记,然后将其写入 file2.text 文件。 file.txt 内容已标记化。这是我的代码。 public class Po
“Dbconnection.java”“db.properties”文件找不到该文件。我向您展示如何获取以下文件。 我的下一个项目目录。 源代码 数据库 DbConnection.java db.pr
如果我将文本文件放在同一项目文件夹中,程序可以毫无问题地读取它。但是我怎样才能让它从我的计算机中的某个地方读取文件(例如:在桌面中) FileInputStream fstream = new Fil
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
这是我将位图转换为字节数组的代码。 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); image.compress
我是 Java 编码的新手,遇到了很多困难。我假设使用从文件中读取的 bufferedreader 编写一个程序,我已经创建了名为“scores.txt”的文件。所以我有一个名为 processFil
我是一名优秀的程序员,十分优秀!