我有一个像这样的文本文件:
abc def jhi
klm nop qrs
tuv wxy zzz
我想要一个像这样的字符串数组:
String[] arr = {"abc def jhi","klm nop qrs","tuv wxy zzz"}
我试过了 :
try
{
FileInputStream fstream_school = new FileInputStream("text1.txt");
DataInputStream data_input = new DataInputStream(fstream_school);
BufferedReader buffer = new BufferedReader(new InputStreamReader(data_input));
String str_line;
while ((str_line = buffer.readLine()) != null)
{
str_line = str_line.trim();
if ((str_line.length()!=0))
{
String[] itemsSchool = str_line.split("\t");
}
}
}
catch (Exception e)
{
// Catch exception if any
System.err.println("Error: " + e.getMessage());
}
任何人都可以帮助我…。所有答案将不胜感激…
根据您的输入,您就快到了。您错过了循环中保持从文件读取每一行的关键点。由于您不事先知道文件中的总行数,因此请使用集合(动态分配的大小)来获取所有内容,然后将其转换为的数组String
(这是您想要的输出)。
像这样:
String[] arr= null;
List<String> itemsSchool = new ArrayList<String>();
try
{
FileInputStream fstream_school = new FileInputStream("text1.txt");
DataInputStream data_input = new DataInputStream(fstream_school);
BufferedReader buffer = new BufferedReader(new InputStreamReader(data_input));
String str_line;
while ((str_line = buffer.readLine()) != null)
{
str_line = str_line.trim();
if ((str_line.length()!=0))
{
itemsSchool.add(str_line);
}
}
arr = (String[])itemsSchool.toArray(new String[itemsSchool.size()]);
}
那么输出(arr
)将是:
{"abc def jhi","klm nop qrs","tuv wxy zzz"}
这不是最佳解决方案。其他更 聪明的 答案已经给出。这仅是您当前方法的解决方案。
问题内容: 我已经在下面使用过一段时间了。至少在我访问过的网站上,它似乎是分布最广的。 在Java中,是否有更好/不同的方式将文件读取为字符串? 问题答案: 读取文件中的所有文本 Java 11添加了方法来读取小文件,以String保留行终止符: 对于介于Java 7和11之间的版本,这是一个紧凑而健壮的习惯用法,它包装在实用程序方法中: 从文件中读取文本行 Java 7添加了一种便捷方法,可以将
问题内容: 我在PostgreSQL中有一个表,其中包含: 是类型,它包含具有正确顺序的该行的父记录列表。 家长:然后再 如何编写一个查询,该查询对于任何给定的ID都会生成其父母姓名的字符串? 例如: :。 :。 :。 编辑: 如果可能的话,我希望请求的ID总是会出现。 :。 :。 :。 :。 问题答案: 您可以结合使用诸如generate_subscripts和array之类的多项操作来获得结果
问题内容: 在我的gulpfile中,我在字符串中有一个版本号。我想将版本号写入文件。在Gulp中有没有很好的方法可以做到这一点,还是我应该看看更通用的NodeJS API? 问题答案: 如果您想以类似口水的方式执行此操作,则可以创建“假”黑胶文件流并按常规方式调用。这是用于创建流的函数。“ stream”是一个核心模块,因此您不需要安装任何东西: 您可以像这样使用它:
问题内容: 所以-我有一个需要a 作为输入的第三方库。我有一个。 我不想将字节写入磁盘..我想将其保留在内存中。我如何从提供的内容创建一个想法(无需写入磁盘)? 问题答案: 抱歉,不可能。除非您具有RAM磁盘,否则File本质上是磁盘上的实体-但这不是您可以用Java创建的东西。 这正是API不应该基于File对象(或过载以接受InputStream)的原因。
在这个问题之前,我先要说明一个事实,那就是我学习编程才一个月,而这个学校的作业却把我难住了。具体地说,它是摩尔斯电码到英语翻译器(反之亦然)...这是我被困住的部分: