【Java】一行代码读完记事本中的二维表
来源:互联网 发布:串口摄像头调试软件 编辑:程序博客网 时间:2024/05/16 14:30
对于如下图所示这种用记事本中的二维表:
如果要读入Java的容器中,也就是将上述的txt转化成ArrayList<ArrayList<String>>,大家可能又绞尽脑汁地思考读入类、读入方法怎么写。
隐约估计完成这样的工程大概需要十几行左右的代码吧?其实并不需要,一行代码就能做完这事。
具体如下:
import java.io.File;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;public class ReadTable {public static void main(String[] args) throws FileNotFoundException{ArrayList<ArrayList<String>> T = new ArrayList<ArrayList<String>>();Scanner scanner = new Scanner(new File("d:\\1.txt"));//指定读入文件while (scanner.hasNext()) {//将txt中的二维表读入T中T.add(new ArrayList<String>(Arrays.asList(scanner.nextLine().split(" "))));}scanner.close();//必须关闭这个流,否则有警告。//打印Tfor(int i=0;i<T.size();i++){System.out.println(T.get(i));}}}运行结果如下:
实际上上述程序,最关键就是这里:
while (scanner.hasNext()) {//将txt中的二维表读入T中T.add(new ArrayList<String>(Arrays.asList(scanner.nextLine().split(" "))));}scanner.close();//必须关闭这个流,否则有警告。首先,scanner.hasNext()和下面的scanner.nextLine()让Java从头到尾一行行读完这个txt,就不再赘述了,之前在《【Java】输入与输出与JDK1.5之后的新型字符串StringBuilder》(点击打开链接)已经详细说明了。
然后,由于这个txt每一行的元素,都是通过空格来分隔。scanner.nextLine()读进来的每一行东西是一个String,因此可以利用String中的split方法,以空格为分隔符,形成一个字符串数组,里面的每一个元素,就是各个被空格分隔的元素。
最后,再利用Arrays中的asList的方法,配合new ArrayList<String>将这个字符串数组,转化成ArrayList<String>。由于T是一个ArrayList<ArrayList<String>>,因此利用T的add,将这个ArrayList<String>压进去则可以了。这也成功打了我之前在《【Java】Arrays中之于int数组的方法,Integer数组与int数组》(点击打开链接)提到Arrays中没有快捷将String数组转化成ArrayList<String>方法的脸。
因此,通过上述这个过程,完成一行代码读完记事本中的二维表的效果。
0 0
- 【Java】一行代码读完记事本中的二维表
- 《第一行代码》读完总结
- java 记事本代码
- java 记事本本源代码.
- java 记事本本源代码.
- java 记事本本源代码.
- java 记事本本源代码.
- Java swing 记事本代码
- java记事本主要代码
- Java 记事本代码
- 记事本java代码
- Java课程设计- 记事本代码
- java-记事本代码
- Java读取记事本里面的一行然后删除这一行
- 一行代码对二维数组排序
- java记事本主要代码2
- java记事本主要代码3
- java记事本中的格式设置
- VMware workstations 里的虚拟机如何上网(NAT模式)
- API gateway---orange下的微服务架构设计
- Python+Selenium初入殿堂
- copy 与 MutableCopy
- 关于ML、DL中的一些问题(1)——数据归一化的作用
- 【Java】一行代码读完记事本中的二维表
- 自己撸一个折线图
- 极光单推设置别名
- openGL三维网格坐标,旋转,缩放,灯光设置,纹理读取,模型读取(MFC单文档)
- express的中间件basicAuth详解
- latex中微调字体大小
- MySQL无限分类的数据表设计以及各种查询
- screen命令总结
- 关于RDD