我想写ArrayList<String>一个文本文件.
在ArrayList与代码创建的:
ArrayList arr = new ArrayList();
StringTokenizer st = new StringTokenizer(
line, ":Mode set - Out of Service In Service");
while(st.hasMoreTokens()){
arr.add(st.nextToken());
}
Run Code Online (Sandbox Code Playgroud)
And*_*ich 75
import java.io.FileWriter;
...
FileWriter writer = new FileWriter("output.txt");
for(String str: arr) {
writer.write(str + System.lineSeparator());
}
writer.close();
Run Code Online (Sandbox Code Playgroud)
小智 45
如今,您可以使用一行代码完成此操作.创建arrayList和Path对象,表示要写入的文件:
Path out = Paths.get("output.txt");
List<String> arrayList = new ArrayList<> ( Arrays.asList ( "a" , "b" , "c" ) );
Run Code Online (Sandbox Code Playgroud)
创建实际文件,并使用ArrayList中的文本填充它:
Files.write(out,arrayList,Charset.defaultCharset());
Run Code Online (Sandbox Code Playgroud)
我建议使用Apache Commons IO库中的FileUtils。它将创建输出文件的父文件夹( Files.write(out,arrayList,Charset.defaultCharset());如果不存在)。而不会这样做,如果父目录不存在,则会抛出异常。
FileUtils.writeLines(new File("output.txt"), encoding, list);
Run Code Online (Sandbox Code Playgroud)
如果您需要在一行中创建每个 ArrayList 项目,那么您可以使用此代码
private void createFile(String file, ArrayList<String> arrData)
throws IOException {
FileWriter writer = new FileWriter(file + ".txt");
int size = arrData.size();
for (int i=0;i<size;i++) {
String str = arrData.get(i).toString();
writer.write(str);
if(i < size-1)**//This prevent creating a blank like at the end of the file**
writer.write("\n");
}
writer.close();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
171473 次 |
| 最近记录: |