如何在文本文件中的单独行中打印数组行
How to print a arrayline in seperate line in a TEXT FILE
我必须在文本文件中打印数组列表。我需要在单独的行中输出,但我在同一行中。
示例:
我在文本文件中的预期输出:
蝙蝠
球
打印
我的实际输出是:
[球棒、球、打印]
我的控制台逐行打印
谁能帮我解决这个问题
谢谢
你可以每次都使用fout.writeChars()
,你调用它会打印一个新行。只需遍历您的列表并逐一打印即可。
try{
DataOutputStream fout = new DataOutputStream(new BufferedOutputStream (new FileOutputStream("Lines.Txt")));
fout.writeChars("This is first line");
fout.writeChars("This is second line");
fout.close();
}
catch (Exception e){
e.printStackTrace();
System.out.println("Exception occured..");
}
我希望这个示例代码能正常工作。
List<String> sample = new ArrayList<>();
sample.add("sample");
sample.add("sample1");
sample.add("sample2");
sample.add("sample3");
;
System.out.println(sample.stream().map(Object::toString)
.collect(Collectors.joining("\n")));
您可以这样做:
public static void main(String[] args) {
String data= null;
List<String> test = new ArrayList<>();
test.add("test");
test.add("test1");
test.add("test2");
test.add("test3");
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(FILENAME));
for(String testList : test) {
data = testList;
bw.write(data);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
bw.close();
}
}
如果你能提供你的代码会很有帮助。但这是假设字符串在 ArrayList
中的代码
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.ArrayList;
public class TestJava{
public static void main(String[] args){
ArrayList<String> values = new ArrayList<>();
values.add("bat");
values.add("ball");
values.add("print");
BufferedWriter wr = null;
try {
wr = new BufferedWriter(new FileWriter("output.txt"));
for (String var : values) {
wr.write(var);
wr.newLine();
}
wr.close();
} catch (Exception e) {
//TODO: handle exception
}
}
}
根据我的理解,这是一个有效的解决方案:
List<String> sample = new ArrayList<>();
sample.add("foo");
sample.add("bar");
sample.add("bizz");
sample.add("bazz");
BufferedWriter writer = new BufferedWriter(new FileWriter("out.txt"));
sample.stream().forEach(s -> {
System.out.println(s);
try {
writer.write(s + '\n');
} catch (IOException e) {
e.printStackTrace();
}
});
writer.close();
首先,它将一些字符串添加到列表中。
stream 和 forEach 是当今进行迭代的功能性方式。
然后你写入文件。
我必须在文本文件中打印数组列表。我需要在单独的行中输出,但我在同一行中。
示例: 我在文本文件中的预期输出: 蝙蝠 球 打印 我的实际输出是: [球棒、球、打印]
我的控制台逐行打印 谁能帮我解决这个问题 谢谢
你可以每次都使用fout.writeChars()
,你调用它会打印一个新行。只需遍历您的列表并逐一打印即可。
try{
DataOutputStream fout = new DataOutputStream(new BufferedOutputStream (new FileOutputStream("Lines.Txt")));
fout.writeChars("This is first line");
fout.writeChars("This is second line");
fout.close();
}
catch (Exception e){
e.printStackTrace();
System.out.println("Exception occured..");
}
我希望这个示例代码能正常工作。
List<String> sample = new ArrayList<>();
sample.add("sample");
sample.add("sample1");
sample.add("sample2");
sample.add("sample3");
;
System.out.println(sample.stream().map(Object::toString)
.collect(Collectors.joining("\n")));
您可以这样做:
public static void main(String[] args) {
String data= null;
List<String> test = new ArrayList<>();
test.add("test");
test.add("test1");
test.add("test2");
test.add("test3");
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(FILENAME));
for(String testList : test) {
data = testList;
bw.write(data);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
bw.close();
}
}
如果你能提供你的代码会很有帮助。但这是假设字符串在 ArrayList
中的代码import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.ArrayList;
public class TestJava{
public static void main(String[] args){
ArrayList<String> values = new ArrayList<>();
values.add("bat");
values.add("ball");
values.add("print");
BufferedWriter wr = null;
try {
wr = new BufferedWriter(new FileWriter("output.txt"));
for (String var : values) {
wr.write(var);
wr.newLine();
}
wr.close();
} catch (Exception e) {
//TODO: handle exception
}
}
}
根据我的理解,这是一个有效的解决方案:
List<String> sample = new ArrayList<>();
sample.add("foo");
sample.add("bar");
sample.add("bizz");
sample.add("bazz");
BufferedWriter writer = new BufferedWriter(new FileWriter("out.txt"));
sample.stream().forEach(s -> {
System.out.println(s);
try {
writer.write(s + '\n');
} catch (IOException e) {
e.printStackTrace();
}
});
writer.close();
首先,它将一些字符串添加到列表中。 stream 和 forEach 是当今进行迭代的功能性方式。 然后你写入文件。